diff --git a/lib/libc+tcc.c b/lib/libc+tcc.c index 95c8a4a9..1ce62078 100644 --- a/lib/libc+tcc.c +++ b/lib/libc+tcc.c @@ -134,6 +134,18 @@ 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 70b6d145..bfef3eec 100644 --- a/lib/libc.c +++ b/lib/libc.c @@ -294,25 +294,13 @@ 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) { - memmove (new, ptr, size); + memcpy (new, ptr, size); free (ptr); } return new;