summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWilliam Cohen <wcohen@redhat.com>2011-03-22 11:05:48 -0400
committerWilliam Cohen <wcohen@redhat.com>2011-03-22 11:05:48 -0400
commit1fb1788ce33891272e188c6057432ccaed8c49b0 (patch)
tree4eb1015fb68b84a0c828a6968b298018593ed4d3
parentedd274866bb762d515144211d5e9f6c8cb7d4c4a (diff)
downloadmemstomp-1fb1788ce33891272e188c6057432ccaed8c49b0.tar.gz
memstomp-1fb1788ce33891272e188c6057432ccaed8c49b0.tar.xz
memstomp-1fb1788ce33891272e188c6057432ccaed8c49b0.zip
Use gcc's __builtin_abs for optimized absolute value.
-rw-r--r--memstomp.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/memstomp.c b/memstomp.c
index a955f33..4c7c8ae 100644
--- a/memstomp.c
+++ b/memstomp.c
@@ -313,8 +313,7 @@ static void warn_memcpy(void * dest, const void * src, size_t count)
void * memcpy(void * dest, const void * src, size_t count)
{
- size_t distance = (dest > src) ? ((char *)dest - (char *)src)
- : ((char *) src - (char *) dest);
+ size_t distance = __builtin_abs(((char *)dest - (char *)src));
/* Check for overlap. */
if (distance < count) {