# HG changeset patch # User Claus Gittinger # Date 1120862666 -7200 # Node ID ba871e13e4f0ef5bb63ec7a2a84383668f48356a # Parent ab8665a8c030835cd61ae3a7ec6852c772241719 *** empty log message *** diff -r ab8665a8c030 -r ba871e13e4f0 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 $' ! !