Usermode - heap debugging and memmove speedup
[tpg/acess2.git] / Usermode / Libraries / libc.so_src / string.c
index e9e1574..3cadee9 100644 (file)
@@ -273,10 +273,11 @@ EXPORT void *memmove(void *dest, const void *src, size_t count)
        char *sp = (char *)src;
        char *dp = (char *)dest;
        // Check if the areas overlap
-       if( (intptr_t)dest > (intptr_t)src && (intptr_t)dest < (intptr_t)src+count )
-               for(;count--;) dp[count] = sp[count];
+       if( (intptr_t)src < (intptr_t)dest && (intptr_t)dest < (intptr_t)src+count )
+               for(;count--;)
+                       dp[count] = sp[count];
        else
-               for(;count--;) *dp++ = *sp++;
+               memcpy(dest, src, count);
        return dest;
 }
 

UCC git Repository :: git.ucc.asn.au