From: James S. <jsi...@us...> - 2001-11-14 00:51:45
|
Update of /cvsroot/linux-mips/linux/include/asm-mips In directory usw-pr-cvs1:/tmp/cvs-serv23323/include/asm-mips Modified Files: string.h Log Message: Handle characters > 127 correctly in memscan. Index: string.h =================================================================== RCS file: /cvsroot/linux-mips/linux/include/asm-mips/string.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- string.h 2001/10/08 16:18:38 1.2 +++ string.h 2001/11/14 00:51:42 1.3 @@ -136,17 +136,18 @@ extern __inline__ void *memscan(void *__addr, int __c, size_t __size) { char *__end = (char *)__addr + __size; + unsigned char * __uc = (unsigned char) __c; __asm__(".set\tpush\n\t" ".set\tnoat\n\t" ".set\treorder\n\t" "1:\tbeq\t%0,%1,2f\n\t" "addiu\t%0,1\n\t" - "lb\t$1,-1(%0)\n\t" + "lbu\t$1,-1(%0)\n\t" "bne\t$1,%z4,1b\n" "2:\t.set\tpop" : "=r" (__addr), "=r" (__end) - : "0" (__addr), "1" (__end), "Jr" (__c)); + : "0" (__addr), "1" (__end), "Jr" (__uc)); return __addr; } |