.
authorJim Meyering <jim@meyering.net>
Fri, 27 Jan 1995 19:32:16 +0000 (19:32 +0000)
committerJim Meyering <jim@meyering.net>
Fri, 27 Jan 1995 19:32:16 +0000 (19:32 +0000)
lib/memmove.c [new file with mode: 0644]

diff --git a/lib/memmove.c b/lib/memmove.c
new file mode 100644 (file)
index 0000000..d9d9e07
--- /dev/null
@@ -0,0 +1,19 @@
+/* memmove.c -- copy memory.
+   Copy LENGTH bytes from SOURCE to DEST.  Does not null-terminate.
+   In the public domain.
+   By David MacKenzie <djm@gnu.ai.mit.edu>.  */
+
+void
+memmove (dest, source, length)
+     char *dest, *source;
+     unsigned length;
+{
+  if (source < dest)
+    /* Moving from low mem to hi mem; start at end.  */
+    for (source += length, dest += length; length; --length)
+      *--dest = *--source;
+  else if (source != dest)
+    /* Moving from hi mem to low mem; start at beginning.  */
+    for (; length; --length)
+      *dest++ = *source++;
+}