From 1270c767cd7d93c5234f44af28ba90a831a2020e Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sun, 15 Apr 2018 08:13:36 +0200 Subject: [PATCH] mlibc: Use memmove in realloc. * src/libc.c (memmove): New function. (realloc): Use it. * src/libc+tcc.c (memmove): Remove. --- lib/libc+tcc.c | 12 ------------ lib/libc.c | 14 +++++++++++++- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/lib/libc+tcc.c b/lib/libc+tcc.c index 1ce62078..95c8a4a9 100644 --- a/lib/libc+tcc.c +++ b/lib/libc+tcc.c @@ -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) { diff --git a/lib/libc.c b/lib/libc.c index bfef3eec..70b6d145 100644 --- a/lib/libc.c +++ b/lib/libc.c @@ -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;