Author: remy.maucherat(a)jboss.com
Date: 2010-05-18 09:14:35 -0400 (Tue, 18 May 2010)
New Revision: 1474
Modified:
trunk/java/org/apache/tomcat/util/buf/ByteChunk.java
Log:
- Port minor indexOf fix.
Modified: trunk/java/org/apache/tomcat/util/buf/ByteChunk.java
===================================================================
--- trunk/java/org/apache/tomcat/util/buf/ByteChunk.java 2010-05-17 17:46:58 UTC (rev
1473)
+++ trunk/java/org/apache/tomcat/util/buf/ByteChunk.java 2010-05-18 13:14:35 UTC (rev
1474)
@@ -691,22 +691,23 @@
}
public int indexOf( String src, int srcOff, int srcLen, int myOff ) {
- char first=src.charAt( srcOff );
+ char first=src.charAt( srcOff );
- // Look for first char
- int srcEnd = srcOff + srcLen;
+ // Look for first char
+ int srcEnd = srcOff + srcLen;
- for( int i=myOff+start; i <= (end - srcLen); i++ ) {
- if( buff[i] != first ) continue;
- // found first char, now look for a match
+ mainLoop:
+ for( int i=myOff+start; i <= (end - srcLen); i++ ) {
+ if( buff[i] != first ) continue;
+ // found first char, now look for a match
int myPos=i+1;
- for( int srcPos=srcOff + 1; srcPos< srcEnd; ) {
+ for( int srcPos=srcOff + 1; srcPos< srcEnd; ) {
if( buff[myPos++] != src.charAt( srcPos++ ))
- break;
- if( srcPos==srcEnd ) return i-start; // found it
- }
- }
- return -1;
+ continue mainLoop;
+ }
+ return i-start; // found it
+ }
+ return -1;
}
// -------------------- Hash code --------------------