From ba0d5b3a09e13d51d868ff832b5003228df48bda Mon Sep 17 00:00:00 2001 From: Jonas 'Sortie' Termansen Date: Wed, 24 Sep 2014 21:14:21 +0200 Subject: [PATCH] Update memmove(3) to current coding conventions. --- libc/string/memmove.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/libc/string/memmove.cpp b/libc/string/memmove.cpp index a20560d7..2deafe10 100644 --- a/libc/string/memmove.cpp +++ b/libc/string/memmove.cpp @@ -22,17 +22,22 @@ *******************************************************************************/ +#include #include extern "C" void* memmove(void* dest_ptr, const void* src_ptr, size_t n) { unsigned char* dest = (unsigned char*) dest_ptr; const unsigned char* src = (const unsigned char*) src_ptr; - if ( dest < src ) + if ( (uintptr_t) dest < (uintptr_t) src ) + { for ( size_t i = 0; i < n; i++ ) dest[i] = src[i]; + } else - for ( size_t i = n; i != 0; i-- ) - dest[i-1] = src[i-1]; + { + for ( size_t i = 0; i < n; i++ ) + dest[n-(i+1)] = src[n-(i+1)]; + } return dest_ptr; }