Author: markt
Date: Tue Jan 16 14:39:28 2018
New Revision: 1821251
URL: http://svn.apache.org/viewvc?rev=1821251&view=rev
Log:
Align indexOf(String, int, int, int) implementations and pull up.
Use ByteChunnks implementation as it is shorter.
Modified:
tomcat/trunk/java/org/apache/tomcat/util/buf/AbstractChunk.java
tomcat/trunk/java/org/apache/tomcat/util/buf/ByteChunk.java
tomcat/trunk/java/org/apache/tomcat/util/buf/CharChunk.java
Modified: tomcat/trunk/java/org/apache/tomcat/util/buf/AbstractChunk.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/buf/AbstractChunk.java?rev=1821251&r1=1821250&r2=1821251&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/buf/AbstractChunk.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/buf/AbstractChunk.java Tue Jan 16
14:39:28 2018
@@ -84,6 +84,29 @@ public abstract class AbstractChunk impl
}
+ public int indexOf(String src, int srcOff, int srcLen, int myOff) {
+ char first = src.charAt(srcOff);
+
+ // Look for first char
+ int srcEnd = srcOff + srcLen;
+
+ mainLoop: for (int i = myOff + start; i <= (end - srcLen); i++) {
+ if (getBufferElement(i) != first) {
+ continue;
+ }
+ // found first char, now look for a match
+ int myPos = i + 1;
+ for (int srcPos = srcOff + 1; srcPos < srcEnd;) {
+ if (getBufferElement(myPos++) != src.charAt(srcPos++)) {
+ continue mainLoop;
+ }
+ }
+ return i - start; // found it
+ }
+ return -1;
+ }
+
+
/**
* Resets the chunk to an uninitialized state.
*/
Modified: tomcat/trunk/java/org/apache/tomcat/util/buf/ByteChunk.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/buf/ByteChunk.java?rev=1821251&r1=1821250&r2=1821251&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/buf/ByteChunk.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/buf/ByteChunk.java Tue Jan 16
14:39:28 2018
@@ -731,29 +731,6 @@ public final class ByteChunk extends Abs
}
- public int indexOf(String src, int srcOff, int srcLen, int myOff) {
- char first = src.charAt(srcOff);
-
- // Look for first char
- int srcEnd = srcOff + srcLen;
-
- 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;) {
- if (buff[myPos++] != src.charAt(srcPos++)) {
- continue mainLoop;
- }
- }
- return i - start; // found it
- }
- return -1;
- }
-
-
@Override
protected int getBufferElement(int index) {
return buff[index];
Modified: tomcat/trunk/java/org/apache/tomcat/util/buf/CharChunk.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/buf/CharChunk.java?rev=1821251&r1=1821250&r2=1821251&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/buf/CharChunk.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/buf/CharChunk.java Tue Jan 16
14:39:28 2018
@@ -605,35 +605,6 @@ public final class CharChunk extends Abs
}
- public int indexOf(String src, int srcOff, int srcLen, int myOff) {
- char first = src.charAt(srcOff);
-
- // Look for first char
- int srcEnd = srcOff + srcLen;
-
- for (int i = myOff + start; i <= (end - srcLen); i++) {
- if (buff[i] != first) {
- continue;
- }
- // Special case - search string is a single character
- if (srcLen == 1) {
- return i - start;
- }
- // Found first char, now look for a match
- int myPos = i + 1;
- for (int srcPos = srcOff + 1; srcPos < srcEnd;) {
- if (buff[myPos++] != src.charAt(srcPos++)) {
- break;
- }
- if (srcPos == srcEnd) {
- return i - start; // found it
- }
- }
- }
- return -1;
- }
-
-
@Override
protected int getBufferElement(int index) {
return buff[index];
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]