]> Joshua Wise's Git repositories - netwatch.git/blobdiff - lib/minilib.c
Bother the 3c905 every time we take an IRQ, which makes the bothering 'stick'.
[netwatch.git] / lib / minilib.c
index f64f3b1d7bf96469a533af0b3bf8198d2a969ea0..7baca595ed4c62fa3ff0d09d1c8bbcaf1c0815d6 100644 (file)
@@ -1,26 +1,31 @@
 #include "console.h"
+#include <minilib.h>
 
-void memcpy(unsigned char *a2, unsigned char *a1, int bytes)
+void memcpy(void *dest, void *src, int bytes)
 {
+       char * cdest = dest;
+       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,8 @@ 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);
 }
-
-
This page took 0.029176 seconds and 4 git commands to generate.