]> oss.titaniummirror.com Git - msp430-gcc.git/blobdiff - gcc/config/memmove.c
Imported gcc-4.4.3
[msp430-gcc.git] / gcc / config / memmove.c
diff --git a/gcc/config/memmove.c b/gcc/config/memmove.c
new file mode 100644 (file)
index 0000000..13b340a
--- /dev/null
@@ -0,0 +1,20 @@
+/* Public domain.  */
+#include <stddef.h>
+
+void *
+memmove (void *dest, const void *src, size_t len)
+{
+  char *d = dest;
+  const char *s = src;
+  if (d < s)
+    while (len--)
+      *d++ = *s++;
+  else
+    {
+      char *lasts = s + (len-1);
+      char *lastd = d + (len-1);
+      while (len--)
+        *lastd-- = *lasts--;
+    }
+  return dest;
+}