Author: fhanik Date: Tue May 29 15:04:24 2007 New Revision: 542671 URL: http://svn.apache.org/viewvc?view=rev&rev=542671 Log: question mark has to be a global variable
Modified: tomcat/trunk/java/org/apache/coyote/http11/InternalNioInputBuffer.java Modified: tomcat/trunk/java/org/apache/coyote/http11/InternalNioInputBuffer.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/InternalNioInputBuffer.java?view=diff&rev=542671&r1=542670&r2=542671 ============================================================================== --- tomcat/trunk/java/org/apache/coyote/http11/InternalNioInputBuffer.java (original) +++ tomcat/trunk/java/org/apache/coyote/http11/InternalNioInputBuffer.java Tue May 29 15:04:24 2007 @@ -75,6 +75,7 @@ parsingRequestLinePhase = 0; parsingRequestLineEol = false; parsingRequestLineStart = 0; + parsingRequestLineQPos = -1; headerParsePos = HeaderParsePosition.HEADER_START; headerData.recycle(); swallowInput = true; @@ -121,6 +122,7 @@ protected int parsingRequestLinePhase = 0; protected boolean parsingRequestLineEol = false; protected int parsingRequestLineStart = 0; + protected int parsingRequestLineQPos = -1; protected HeaderParsePosition headerParsePos; @@ -314,6 +316,7 @@ parsingRequestLinePhase = 0; parsingRequestLineEol = false; parsingRequestLineStart = 0; + parsingRequestLineQPos = -1; headerData.recycle(); swallowInput = true; @@ -358,6 +361,7 @@ parsingRequestLinePhase = 0; parsingRequestLineEol = false; parsingRequestLineStart = 0; + parsingRequestLineQPos = -1; headerData.recycle(); swallowInput = true; @@ -464,7 +468,6 @@ // Mark the current buffer position int end = 0; - int questionPos = -1; // // Reading the URI // @@ -485,16 +488,16 @@ space = true; end = pos; } else if ((buf[pos] == Constants.QUESTION) - && (questionPos == -1)) { - questionPos = pos; + && (parsingRequestLineQPos == -1)) { + parsingRequestLineQPos = pos; } pos++; } request.unparsedURI().setBytes(buf, parsingRequestLineStart, end - parsingRequestLineStart); - if (questionPos >= 0) { - request.queryString().setBytes(buf, questionPos + 1, - end - questionPos - 1); - request.requestURI().setBytes(buf, parsingRequestLineStart, questionPos - parsingRequestLineStart); + if (parsingRequestLineQPos >= 0) { + request.queryString().setBytes(buf, parsingRequestLineQPos + 1, + end - parsingRequestLineQPos - 1); + request.requestURI().setBytes(buf, parsingRequestLineStart, parsingRequestLineQPos - parsingRequestLineStart); } else { request.requestURI().setBytes(buf, parsingRequestLineStart, end - parsingRequestLineStart); } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]