string-with-instvar fix
authorClaus Gittinger <cg@exept.de>
Sat, 09 Jul 2005 00:39:54 +0200
changeset 8921 e62bd67efa18
parent 8920 19397e1e685e
child 8922 ab8665a8c030
string-with-instvar fix
String.st
--- a/String.st	Sat Jul 09 00:20:58 2005 +0200
+++ b/String.st	Sat Jul 09 00:39:54 2005 +0200
@@ -718,7 +718,9 @@
 
     REGISTER unsigned char *cp;
     REGISTER unsigned byteValue;
-#ifndef FAST_MEMCHR
+#ifdef FAST_MEMCHR
+    unsigned char *ncp;
+#else
     REGISTER INT index;
 #endif
     REGISTER int lastIdx;
@@ -737,9 +739,9 @@
 	    }
 
 #ifdef FAST_MEMCHR
-	    cp = (unsigned char *) memchr(cp, byteValue, lastIdx);
-	    if (cp) {
-		RETURN ( __mkSmallInteger(cp - __stringVal(self) + 1) );
+	    ncp = (unsigned char *) memchr(cp, byteValue, lastIdx);
+	    if (ncp) {
+		RETURN ( __mkSmallInteger(ncp - cp + 1) );
 	    }
 #else
 	    for (index=1; index <= lastIdx; index++) {
@@ -3410,5 +3412,5 @@
 !String class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/String.st,v 1.220 2005-07-08 22:20:58 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/String.st,v 1.221 2005-07-08 22:39:54 cg Exp $'
 ! !