Alexandre Julliard : libport: Fixed invalid lvalue accesses in
memmove.
Alexandre Julliard
julliard at wine.codeweavers.com
Tue Aug 1 12:45:54 CDT 2006
Module: wine
Branch: refs/heads/master
Commit: eb2bedc56d83990499a77a7d17cad810822230e1
URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=eb2bedc56d83990499a77a7d17cad810822230e1
Author: Alexandre Julliard <julliard at winehq.org>
Date: Tue Aug 1 19:35:52 2006 +0200
libport: Fixed invalid lvalue accesses in memmove.
---
libs/port/memmove.c | 13 +++++++------
1 files changed, 7 insertions(+), 6 deletions(-)
diff --git a/libs/port/memmove.c b/libs/port/memmove.c
index f8402de..7be9638 100644
--- a/libs/port/memmove.c
+++ b/libs/port/memmove.c
@@ -22,25 +22,26 @@ #include "config.h"
#include "wine/port.h"
#ifndef HAVE_MEMMOVE
-void *memmove( void *dest, const void *src, size_t len )
+void *memmove( void *dest, const void *source, size_t len )
{
register char *dst = dest;
+ register const char *src = source;
/* Use memcpy if not overlapping */
- if ((dst + len <= (char *)src) || ((char *)src + len <= dst))
+ if ((dst + len <= src) || (src + len <= dst))
{
memcpy( dst, src, len );
}
/* Otherwise do it the hard way (FIXME: could do better than this) */
- else if (dst < (char *)src)
+ else if (dst < src)
{
- while (len--) *dst++ = *((char *)src)++;
+ while (len--) *dst++ = *src++;
}
else
{
dst += len - 1;
- src = (char *)src + len - 1;
- while (len--) *dst-- = *((char *)src)--;
+ src += len - 1;
+ while (len--) *dst-- = *src--;
}
return dest;
}
More information about the wine-cvs
mailing list