Fix bug in #indexOf:startingAt if defined(FAST_MEMCHR)
authorStefan Vogel <sv@exept.de>
Mon, 17 Dec 2001 16:37:01 +0100
changeset 6332 5b006cfad9ca
parent 6331 3cb5595cf170
child 6333 9682533bce75
Fix bug in #indexOf:startingAt if defined(FAST_MEMCHR)
String.st
--- a/String.st	Mon Dec 17 16:24:05 2001 +0100
+++ b/String.st	Mon Dec 17 16:37:01 2001 +0100
@@ -717,7 +717,6 @@
      - reimplemented here for speed"
 
 %{  /* NOCONTEXT */
-
     REGISTER unsigned char *cp;
     REGISTER int index;
     REGISTER unsigned byteValue;
@@ -740,7 +739,7 @@
                 cp = __stringVal(self) + index - 1;
 
 #ifdef FAST_MEMCHR
-                cp = (unsigned char *) memchr(cp, byteValue, len);
+                cp = (unsigned char *) memchr(cp, byteValue, len+1-index);
                 if (cp) {
                     RETURN ( __MKSMALLINT(cp - __stringVal(self) + 1) );
                 }
@@ -3018,5 +3017,5 @@
 !String class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/String.st,v 1.163 2001-12-17 15:24:05 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/String.st,v 1.164 2001-12-17 15:37:01 stefan Exp $'
 ! !