X-Git-Url: http://git.joshuawise.com/netwatch.git/blobdiff_plain/31be35cda26f033fe62db673a8a973f0b15c9de7..8f4ff5c04e3dd5a339493c9fb625ce3dbe6597a7:/lib/minilib.c?ds=sidebyside diff --git a/lib/minilib.c b/lib/minilib.c index f64f3b1..677c77a 100644 --- a/lib/minilib.c +++ b/lib/minilib.c @@ -1,26 +1,31 @@ #include "console.h" +#include -void memcpy(unsigned char *a2, unsigned char *a1, int bytes) +void memcpy(void *dest, const void *src, int bytes) { + char *cdest = dest; + const char *csrc = src; while (bytes--) - *(a2++) = *(a1++); + *(cdest++) = *(csrc++); } -void memmove(unsigned char *dest, unsigned char *src, int bytes) +void memmove(void *dest, void *src, int bytes) { - if ((dest > src) && (dest <= (src + bytes))) + char * cdest = dest; + char * csrc = src; + if ((cdest > csrc) && (cdest <= (csrc + bytes))) { /* do it backwards! */ - dest += bytes; - src += bytes; + cdest += bytes; + csrc += bytes; while (bytes--) - *(--dest) = *(--src); + *(--cdest) = *(--csrc); } else while (bytes--) - *(dest++) = *(src++); + *(cdest++) = *(csrc++); } -int memcmp (unsigned char *a2, unsigned char *a1, int bytes) { +int memcmp (const char *a2, const char *a1, int bytes) { while (bytes--) { if (*(a2++) != *(a1++)) @@ -29,7 +34,7 @@ int memcmp (unsigned char *a2, unsigned char *a1, int bytes) { return 0; } -int strcmp (unsigned char *a2, unsigned char *a1) { +int strcmp (const char *a2, const char *a1) { while (1) { if (*a2 != *a1) return 1; if (*a2 == 0) return 0; @@ -38,7 +43,7 @@ int strcmp (unsigned char *a2, unsigned char *a1) { } } -int strlen(char *c) +int strlen(const char *c) { int l = 0; while (*(c++)) @@ -46,20 +51,20 @@ int strlen(char *c) return l; } -void strcpy(unsigned char *a2, unsigned char *a1) +void strcpy(char *a2, const char *a1) { do { *(a2++) = *a1; } while (*(a1++)); } -void puts(char *c) +void puts(const char *c) { putbytes(c, strlen(c)); } static char hexarr[] = "0123456789ABCDEF"; -void tohex(unsigned char *s, unsigned long l) +void tohex(char *s, unsigned long l) { int i; for (i = 0; i < 8; i++) @@ -71,10 +76,13 @@ void tohex(unsigned char *s, unsigned long l) void puthex(unsigned long l) { - unsigned char d[9]; + char d[9]; d[8] = 0; tohex(d, l); puts(d); } - +unsigned short htons(unsigned short in) +{ + return (in >> 8) | (in << 8); +}