summaryrefslogtreecommitdiff
path: root/string.c
diff options
context:
space:
mode:
Diffstat (limited to 'string.c')
-rw-r--r--string.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/string.c b/string.c
index 40019d5..54f4ba8 100644
--- a/string.c
+++ b/string.c
@@ -38,3 +38,23 @@ memcmp(const void *v1, const void *v2, unsigned n)
return 0;
}
+
+void *
+memmove(void *dst, const void *src, unsigned n)
+{
+ const char *s;
+ char *d;
+
+ s = src;
+ d = dst;
+ if (s < d && s + n > d) {
+ s += n;
+ d += n;
+ while (n-- > 0)
+ *--d = *--s;
+ } else
+ while (n-- > 0)
+ *d++ = *s++;
+
+ return dst;
+}