aboutsummaryrefslogtreecommitdiffstats
path: root/missing
diff options
context:
space:
mode:
Diffstat (limited to 'missing')
-rw-r--r--missing/memcmp.c9
-rw-r--r--missing/memmove.c17
2 files changed, 12 insertions, 14 deletions
diff --git a/missing/memcmp.c b/missing/memcmp.c
index 9edc9c13b9..5b3ad3817a 100644
--- a/missing/memcmp.c
+++ b/missing/memcmp.c
@@ -1,16 +1,15 @@
/* public domain rewrite of memcmp(3) */
+#include <stddef.h>
+
int
-memcmp(s1,s2,len)
- char *s1;
- char *s2;
- register int len;
+memcmp(const void *s1, const void *s2, size_t len)
{
register unsigned char *a = (unsigned char*)s1;
register unsigned char *b = (unsigned char*)s2;
register int tmp;
- while (len--) {
+ for (; len; --len) {
if (tmp = *a++ - *b++)
return tmp;
}
diff --git a/missing/memmove.c b/missing/memmove.c
index c9d67d8b45..19c5f18847 100644
--- a/missing/memmove.c
+++ b/missing/memmove.c
@@ -1,22 +1,21 @@
/* public domain rewrite of memcmp(3) */
+#include <stddef.h>
+
void *
-memmove (d, s, n)
- void *d, *s;
- int n;
+memmove(void *d, const void *s, size_t n)
{
- char *dst = d;
- char *src = s;
- void *ret = dst;
+ char *dst = (char *)d;
+ const char *src = (const char *)s;
if (src < dst) {
src += n;
dst += n;
- while (n--)
+ for (; n; --n)
*--dst = *--src;
}
else if (dst < src)
- while (n--)
+ for (; n; --n)
*dst++ = *src++;
- return ret;
+ return d;
}