Index: libc/string/memcpy.c =================================================================== RCS file: /cvs/src/src/newlib/libc/string/memcpy.c,v retrieving revision 1.2 diff -p -u -r1.2 memcpy.c --- libc/string/memcpy.c 11 Dec 2008 17:27:56 -0000 1.2 +++ libc/string/memcpy.c 21 Sep 2010 21:51:54 -0000 @@ -72,30 +72,29 @@ _DEFUN (memcpy, (dst0, src0, len0), _CONST char *src = src0; long *aligned_dst; _CONST long *aligned_src; - int len = len0; /* If the size is small, or either SRC or DST is unaligned, then punt into the byte copy loop. This should be rare. */ - if (!TOO_SMALL(len) && !UNALIGNED (src, dst)) + if (!TOO_SMALL(len0) && !UNALIGNED (src, dst)) { aligned_dst = (long*)dst; aligned_src = (long*)src; /* Copy 4X long words at a time if possible. */ - while (len >= BIGBLOCKSIZE) + while (len0 >= BIGBLOCKSIZE) { *aligned_dst++ = *aligned_src++; *aligned_dst++ = *aligned_src++; *aligned_dst++ = *aligned_src++; *aligned_dst++ = *aligned_src++; - len -= BIGBLOCKSIZE; + len0 -= BIGBLOCKSIZE; } /* Copy one long word at a time if possible. */ - while (len >= LITTLEBLOCKSIZE) + while (len0 >= LITTLEBLOCKSIZE) { *aligned_dst++ = *aligned_src++; - len -= LITTLEBLOCKSIZE; + len0 -= LITTLEBLOCKSIZE; } /* Pick up any residual with a byte copier. */ @@ -103,7 +102,7 @@ _DEFUN (memcpy, (dst0, src0, len0), src = (char*)aligned_src; } - while (len--) + while (len0--) *dst++ = *src++; return dst0; Index: libc/string/memccpy.c =================================================================== RCS file: /cvs/src/src/newlib/libc/string/memccpy.c,v retrieving revision 1.1 diff -p -u -r1.1 memccpy.c --- libc/string/memccpy.c 23 Jul 2002 21:38:00 -0000 1.1 +++ libc/string/memccpy.c 21 Sep 2010 21:51:54 -0000 @@ -92,12 +92,11 @@ _DEFUN (memccpy, (dst0, src0, endchar, l _CONST char *src = src0; long *aligned_dst; _CONST long *aligned_src; - int len = len0; char endchar = endchar0 & 0xff; /* If the size is small, or either SRC or DST is unaligned, then punt into the byte copy loop. This should be rare. */ - if (!TOO_SMALL(len) && !UNALIGNED (src, dst)) + if (!TOO_SMALL(len0) && !UNALIGNED (src, dst)) { int i; unsigned long mask = 0; @@ -116,14 +115,14 @@ _DEFUN (memccpy, (dst0, src0, endchar, l /* Copy one long word at a time if possible. */ - while (len >= LITTLEBLOCKSIZE) + while (len0 >= LITTLEBLOCKSIZE) { unsigned long buffer = (unsigned long)(*aligned_src); buffer ^= mask; if (DETECTNULL (buffer)) break; /* endchar is found, go byte by byte from here */ *aligned_dst++ = *aligned_src++; - len -= LITTLEBLOCKSIZE; + len0 -= LITTLEBLOCKSIZE; } /* Pick up any residual with a byte copier. */ @@ -131,7 +130,7 @@ _DEFUN (memccpy, (dst0, src0, endchar, l src = (char*)aligned_src; } - while (len--) + while (len0--) { if ((*dst++ = *src++) == endchar) { Index: libc/string/mempcpy.c =================================================================== RCS file: /cvs/src/src/newlib/libc/string/mempcpy.c,v retrieving revision 1.1 diff -p -u -r1.1 mempcpy.c --- libc/string/mempcpy.c 23 Jul 2002 21:38:00 -0000 1.1 +++ libc/string/mempcpy.c 21 Sep 2010 21:51:54 -0000 @@ -69,30 +69,29 @@ _DEFUN (mempcpy, (dst0, src0, len0), _CONST char *src = src0; long *aligned_dst; _CONST long *aligned_src; - int len = len0; /* If the size is small, or either SRC or DST is unaligned, then punt into the byte copy loop. This should be rare. */ - if (!TOO_SMALL(len) && !UNALIGNED (src, dst)) + if (!TOO_SMALL(len0) && !UNALIGNED (src, dst)) { aligned_dst = (long*)dst; aligned_src = (long*)src; /* Copy 4X long words at a time if possible. */ - while (len >= BIGBLOCKSIZE) + while (len0 >= BIGBLOCKSIZE) { *aligned_dst++ = *aligned_src++; *aligned_dst++ = *aligned_src++; *aligned_dst++ = *aligned_src++; *aligned_dst++ = *aligned_src++; - len -= BIGBLOCKSIZE; + len0 -= BIGBLOCKSIZE; } /* Copy one long word at a time if possible. */ - while (len >= LITTLEBLOCKSIZE) + while (len0 >= LITTLEBLOCKSIZE) { *aligned_dst++ = *aligned_src++; - len -= LITTLEBLOCKSIZE; + len0 -= LITTLEBLOCKSIZE; } /* Pick up any residual with a byte copier. */ @@ -100,7 +99,7 @@ _DEFUN (mempcpy, (dst0, src0, len0), src = (char*)aligned_src; } - while (len--) + while (len0--) *dst++ = *src++; return dst; Index: libc/string/memmove.c =================================================================== RCS file: /cvs/src/src/newlib/libc/string/memmove.c,v retrieving revision 1.1.1.1 diff -p -u -r1.1.1.1 memmove.c --- libc/string/memmove.c 17 Feb 2000 19:39:48 -0000 1.1.1.1 +++ libc/string/memmove.c 21 Sep 2010 21:51:54 -0000 @@ -88,14 +88,13 @@ _DEFUN (memmove, (dst_void, src_void, le _CONST char *src = src_void; long *aligned_dst; _CONST long *aligned_src; - int len = length; - if (src < dst && dst < src + len) + if (src < dst && dst < src + length) { /* Destructive overlap...have to copy backwards */ - src += len; - dst += len; - while (len--) + src += length; + dst += length; + while (length--) { *--dst = *--src; } @@ -105,26 +104,26 @@ _DEFUN (memmove, (dst_void, src_void, le /* Use optimizing algorithm for a non-destructive copy to closely match memcpy. If the size is small or either SRC or DST is unaligned, then punt into the byte copy loop. This should be rare. */ - if (!TOO_SMALL(len) && !UNALIGNED (src, dst)) + if (!TOO_SMALL(length) && !UNALIGNED (src, dst)) { aligned_dst = (long*)dst; aligned_src = (long*)src; /* Copy 4X long words at a time if possible. */ - while (len >= BIGBLOCKSIZE) + while (length >= BIGBLOCKSIZE) { *aligned_dst++ = *aligned_src++; *aligned_dst++ = *aligned_src++; *aligned_dst++ = *aligned_src++; *aligned_dst++ = *aligned_src++; - len -= BIGBLOCKSIZE; + length -= BIGBLOCKSIZE; } /* Copy one long word at a time if possible. */ - while (len >= LITTLEBLOCKSIZE) + while (length >= LITTLEBLOCKSIZE) { *aligned_dst++ = *aligned_src++; - len -= LITTLEBLOCKSIZE; + length -= LITTLEBLOCKSIZE; } /* Pick up any residual with a byte copier. */ @@ -132,7 +131,7 @@ _DEFUN (memmove, (dst_void, src_void, le src = (char*)aligned_src; } - while (len--) + while (length--) { *dst++ = *src++; }