*** empty log message ***
authorClaus Gittinger <cg@exept.de>
Sat, 09 Jul 2005 00:44:26 +0200
changeset 8923 ba871e13e4f0
parent 8922 ab8665a8c030
child 8924 eb2dd7dd459f
*** empty log message ***
String.st
--- 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 $'
 ! !