mlibc: Use memmove in realloc.
authorJan Nieuwenhuizen <janneke@gnu.org>
Sun, 15 Apr 2018 06:13:36 +0000 (08:13 +0200)
committerJan Nieuwenhuizen <janneke@gnu.org>
Sun, 15 Apr 2018 06:13:36 +0000 (08:13 +0200)
* src/libc.c (memmove): New function.
  (realloc): Use it.
* src/libc+tcc.c (memmove): Remove.

lib/libc+tcc.c
lib/libc.c

index 1ce620789395ca55efc8e72aa0afa2dce165feb3..95c8a4a943712631960b0a923a963ddc28b54e7e 100644 (file)
@@ -134,18 +134,6 @@ localtime (time_t const *timep)
   return 0;
 }
 
-void *
-memmove (void *dest, void const *src, size_t n)
-{
-  if (dest < src)
-    return memcpy (dest, src, n);
-  char *p = dest + n;
-  char const *q = src +n;
-  while (n--)
-    *--p = *--q;
-  return dest;
-}
-
 void *
 memset (void *s, int c, size_t n)
 {
index bfef3eec43a67201206e856ac3150dece6811c18..70b6d14546efdcbe2dcb1b74f54a415f261dceb4 100644 (file)
@@ -294,13 +294,25 @@ memcpy (void *dest, void const *src, size_t n)
   return dest;
 }
 
+void *
+memmove (void *dest, void const *src, size_t n)
+{
+  if (dest < src)
+    return memcpy (dest, src, n);
+  char *p = dest + n;
+  char const *q = src +n;
+  while (n--)
+    *--p = *--q;
+  return dest;
+}
+
 void *
 realloc (void *ptr, size_t size)
 {
   void *new = malloc (size);
   if (ptr && new)
     {
-      memcpy (new, ptr, size);
+      memmove (new, ptr, size);
       free (ptr);
     }
   return new;