--- a/String.st Sat Jul 09 00:41:40 2005 +0200
+++ b/String.st Sat Jul 09 00:44:26 2005 +0200
@@ -941,7 +941,11 @@
%{ /* NOCONTEXT */
REGISTER unsigned char *cp;
+#ifdef FAST_MEMCHR
+ REGISTER unsigned char *ncp;
+#else
REGISTER INT index;
+#endif
REGISTER unsigned byteValue;
int len;
OBJ cls;
@@ -960,9 +964,9 @@
cp = __stringVal(self) + index - 1;
#ifdef FAST_MEMCHR
- cp = (unsigned char *) memchr(cp, byteValue, len+1-index);
- if (cp) {
- RETURN ( __mkSmallInteger(cp - __stringVal(self) + 1) );
+ ncp = (unsigned char *) memchr(cp, byteValue, len+1-index);
+ if (ncp) {
+ RETURN ( __mkSmallInteger(ncp - cp + 1) );
}
#else
for (; index <= len; index++) {
@@ -1024,9 +1028,9 @@
unsigned char m = matchP[0];
#ifdef FAST_MEMCHR
- cp = (unsigned char *) memchr(cp, m, len-index+1);
- if (cp) {
- RETURN ( __mkSmallInteger(cp - __stringVal(self) + 1) );
+ ccp = (unsigned char *) memchr(cp, m, len-index+1);
+ if (ccp) {
+ RETURN ( __mkSmallInteger(ccp - cp + 1) );
}
#else
while (c = *cp++) {
@@ -3416,5 +3420,5 @@
!String class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/String.st,v 1.222 2005-07-08 22:41:40 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/String.st,v 1.223 2005-07-08 22:44:26 cg Exp $'
! !