You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by kk...@apache.org on 2011/11/17 06:05:17 UTC

svn commit: r1203049 - /tomcat/trunk/java/org/apache/tomcat/util/buf/UDecoder.java

Author: kkolinko
Date: Thu Nov 17 05:05:17 2011
New Revision: 1203049

URL: http://svn.apache.org/viewvc?rev=1203049&view=rev
Log:
Small optimization.
Use findByte() instead of indexOf(). Implementation is the same, but it is more fair to its arguments.
Limit second string scan using results from the first one.

Modified:
    tomcat/trunk/java/org/apache/tomcat/util/buf/UDecoder.java

Modified: tomcat/trunk/java/org/apache/tomcat/util/buf/UDecoder.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/buf/UDecoder.java?rev=1203049&r1=1203048&r2=1203049&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/buf/UDecoder.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/buf/UDecoder.java Thu Nov 17 05:05:17 2011
@@ -54,10 +54,10 @@ public final class UDecoder {
         byte buff[]=mb.getBytes();
         int end=mb.getEnd();
 
-        int idx= ByteChunk.indexOf( buff, start, end, '%' );
+        int idx= ByteChunk.findByte( buff, start, end, (byte) '%' );
         int idx2=-1;
         if( query ) {
-            idx2= ByteChunk.indexOf( buff, start, end, '+' );
+            idx2= ByteChunk.findByte( buff, start, (idx >= 0 ? idx : end), (byte) '+' );
         }
         if( idx<0 && idx2<0 ) {
             return;
@@ -125,7 +125,7 @@ public final class UDecoder {
         int idx= CharChunk.indexOf( buff, start, cend, '%' );
         int idx2=-1;
         if( query ) {
-            idx2= CharChunk.indexOf( buff, start, cend, '+' );
+            idx2= CharChunk.indexOf( buff, start, (idx >= 0 ? idx : cend), '+' );
         }
         if( idx<0 && idx2<0 ) {
             return;



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org