> On Aug 10, 2023, at 15:29, Mark Thomas <ma...@apache.org> wrote:
> 
> On 10/08/2023 04:04, li...@apache.org <mailto:li...@apache.org> wrote:
>> This is an automated email from the ASF dual-hosted git repository.
>> lihan pushed a commit to branch main
>> in repository https://gitbox.apache.org/repos/asf/tomcat.git 
>> <https://gitbox.apache.org/repos/asf/tomcat.git>
>> The following commit(s) were added to refs/heads/main by this push:
>> new 6353e78658 Minor optimization
> 
> -1. Veto. Please fix / revert. Details in-line.
> 
> This veto also applies to the back-ports of this change.
> 
>> 6353e78658 is described below
>> commit 6353e78658ea09c5056943901877f0b6ed31faae
>> Author: lihan <li...@apache.org>
>> AuthorDate: Wed Aug 9 16:42:11 2023 +0800
>> Minor optimization
>> ---
>> java/org/apache/catalina/mapper/Mapper.java | 20 ++++++++++++--------
>> 1 file changed, 12 insertions(+), 8 deletions(-)
>> diff --git a/java/org/apache/catalina/mapper/Mapper.java 
>> b/java/org/apache/catalina/mapper/Mapper.java
>> index 9a3cfd833f..b1cfa8033b 100644
>> --- a/java/org/apache/catalina/mapper/Mapper.java
>> +++ b/java/org/apache/catalina/mapper/Mapper.java
>> @@ -1337,16 +1337,18 @@ public final class Mapper {
>> len = end - start;
>> }
>> for (int i = 0; (i < len) && (result == 0); i++) {
>> - if (c[i + start] > compareTo.charAt(i)) {
>> + char nameChar = c[i + start];
>> + char compareToChar = compareTo.charAt(i);
>> + if (nameChar > compareToChar) {
>> result = 1;
>> - } else if (c[i + start] < compareTo.charAt(i)) {
>> + } else if (nameChar < compareToChar) {
>> result = -1;
>> }
>> }
>> if (result == 0) {
>> - if (compareTo.length() > (end - start)) {
>> + if (len > (end - start)) {
> 
> compareTo.length() is NOT equivalent to len at this point since len may be 
> modified at the start of the method.

Oops. I'll fix it later.

Han

> 
>> result = -1;
>> - } else if (compareTo.length() < (end - start)) {
>> + } else if (len < (end - start)) {
> 
> Same issue here.
> 
>> result = 1;
>> }
>> }
>> @@ -1366,16 +1368,18 @@ public final class Mapper {
>> len = end - start;
>> }
>> for (int i = 0; (i < len) && (result == 0); i++) {
>> - if (Ascii.toLower(c[i + start]) > Ascii.toLower(compareTo.charAt(i))) {
>> + int nameLower = Ascii.toLower(c[i + start]);
>> + int compareLower = Ascii.toLower(compareTo.charAt(i));
>> + if (nameLower > compareLower) {
>> result = 1;
>> - } else if (Ascii.toLower(c[i + start]) < 
>> Ascii.toLower(compareTo.charAt(i))) {
>> + } else if (nameLower < compareLower) {
>> result = -1;
>> }
>> }
>> if (result == 0) {
>> - if (compareTo.length() > (end - start)) {
>> + if (len > (end - start)) {
> 
> Same issue here.
> 
>> result = -1;
>> - } else if (compareTo.length() < (end - start)) {
>> + } else if (len < (end - start)) {
> 
> Same issue here.
> 
>> result = 1;
>> }
>> }
> 
> Mark
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org 
> <mailto:dev-unsubscr...@tomcat.apache.org>
> For additional commands, e-mail: dev-h...@tomcat.apache.org 
> <mailto:dev-h...@tomcat.apache.org>

Reply via email to