diff options
Diffstat (limited to 'libc/sysdeps/powerpc/memmove.c')
-rw-r--r-- | libc/sysdeps/powerpc/memmove.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/libc/sysdeps/powerpc/memmove.c b/libc/sysdeps/powerpc/memmove.c index 89182838e..1617ecea9 100644 --- a/libc/sysdeps/powerpc/memmove.c +++ b/libc/sysdeps/powerpc/memmove.c @@ -50,12 +50,12 @@ MEMMOVE (a1, a2, len) unsigned long int srcp = (long int) src; /* If there is no overlap between ranges, call the builtin memcpy. */ - if ( (dstp >= (srcp + len)) || (srcp > (dstp + len)) ) - return __builtin_memcpy (dest, src, len); + if (dstp >= srcp + len || srcp > dstp + len) + __builtin_memcpy (dest, src, len); /* This test makes the forward copying code be used whenever possible. Reduces the working set. */ - if (dstp - srcp >= len) /* *Unsigned* compare! */ + else if (dstp - srcp >= len) /* *Unsigned* compare! */ { /* Copy from the beginning to the end. */ |