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 2010/11/17 11:41:03 UTC

svn commit: r1035973 - /tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java

Author: kkolinko
Date: Wed Nov 17 10:41:03 2010
New Revision: 1035973

URL: http://svn.apache.org/viewvc?rev=1035973&view=rev
Log:
CoyoteAdapter.parsePathParameters:
- do not reevaluate start/end, because we already have them in local variables
- move warnedEncoding flag outside the loop, because otherwise it was always false and thus useless

Modified:
    tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java

Modified: tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java?rev=1035973&r1=1035972&r2=1035973&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java (original)
+++ tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java Wed Nov 17 10:41:03 2010
@@ -669,10 +669,10 @@ public class CoyoteAdapter implements Ad
      */
     protected void parsePathParameters(org.apache.coyote.Request req,
             Request request) {
-        
+
         // Process in bytes (this is default format so this is normally a NO-OP
         req.decodedURI().toBytes();
-        
+
         ByteChunk uriBC = req.decodedURI().getByteChunk();
         int semicolon = uriBC.indexOf(';', 0);
 
@@ -691,6 +691,8 @@ public class CoyoteAdapter implements Ad
             log.debug(sm.getString("coyoteAdapter.debug", "enc", enc));
         }
 
+        boolean warnedEncoding = false;
+
         while (semicolon > -1) {
             // Parse path param, and extract it from the decoded request URI
             int start = uriBC.getStart();
@@ -698,12 +700,11 @@ public class CoyoteAdapter implements Ad
 
             int pathParamStart = semicolon + 1;
             int pathParamEnd = ByteChunk.findBytes(uriBC.getBuffer(),
-                    uriBC.getStart() + pathParamStart, uriBC.getEnd(),
+                    start + pathParamStart, end,
                     new byte[] {';', '/'});
-            
+
             String pv = null;
-            boolean warnedEncoding = false;
-            
+
             if (pathParamEnd >= 0) {
                 try {
                     pv = (new String(uriBC.getBuffer(), start + pathParamStart,
@@ -736,7 +737,7 @@ public class CoyoteAdapter implements Ad
                 }
                 uriBC.setEnd(start + semicolon);
             }
-            
+
             if (log.isDebugEnabled()) {
                 log.debug(sm.getString("coyoteAdapter.debug", "pathParamStart",
                         String.valueOf(pathParamStart)));
@@ -761,7 +762,7 @@ public class CoyoteAdapter implements Ad
                     }
                 }
             }
-            
+
             semicolon = uriBC.indexOf(';', semicolon);
         }
     }



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