From: Simon Glass Date: Wed, 5 Apr 2017 22:23:31 +0000 (-0600) Subject: string: Use memcpy() within memmove() when we can X-Git-Tag: v2017.07-rc1~386 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=cb0eae8cf8aaca76910dee4c7eb536d0814d1bd2;p=oweals%2Fu-boot.git string: Use memcpy() within memmove() when we can A common use of memmove() can be handled by memcpy(). Also memcpy() includes an optimisation for large sizes: it copies a word at a time. So we can get a speed-up by calling memcpy() to handle our move in this case. Update memmove() to call memcpy() if the destination is before the source. Signed-off-by: Simon Glass Reviewed-by: Tom Rini --- diff --git a/lib/string.c b/lib/string.c index c1a28c14ce..e94021c468 100644 --- a/lib/string.c +++ b/lib/string.c @@ -511,16 +511,9 @@ void * memmove(void * dest,const void *src,size_t count) { char *tmp, *s; - if (src == dest) - return dest; - if (dest <= src) { - tmp = (char *) dest; - s = (char *) src; - while (count--) - *tmp++ = *s++; - } - else { + memcpy(dest, src, count); + } else { tmp = (char *) dest + count; s = (char *) src + count; while (count--)