--- zzzz-none-000/linux-2.4.17/lib/string.c 2001-04-27 21:35:50.000000000 +0000 +++ sangam-fb-322/linux-2.4.17/lib/string.c 2004-11-24 13:22:10.000000000 +0000 @@ -356,7 +356,7 @@ * * Do not use memset() to access IO space, use memset_io() instead. */ -void * memset(void * s,int c,size_t count) +void * memset(void * s,int c, size_t count) { char *xs = (char *) s; @@ -474,14 +474,15 @@ void * memscan(void * addr, int c, size_t size) { unsigned char * p = (unsigned char *) addr; + unsigned char * e = p + size; - while (size) { - if (*p == c) + while (p != e) { + if (*p == (unsigned char)c) return (void *) p; p++; - size--; } - return (void *) p; + + return (void *) p; } #endif