From 464454a15a3e1a576df1142b227e40016833b627 Mon Sep 17 00:00:00 2001 From: Markus Schorn Date: Wed, 22 Nov 2006 15:18:21 +0000 Subject: [PATCH] Change CharArrayUtils.compare() to yield lexicographical order. --- .../cdt/core/parser/util/CharArrayUtils.java | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/util/CharArrayUtils.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/util/CharArrayUtils.java index 7027185bae7..e69387320ce 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/util/CharArrayUtils.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/util/CharArrayUtils.java @@ -69,14 +69,14 @@ public class CharArrayUtils { if (str1 == str2) return 0; - if (str1.length != str2.length) - return str1.length < str2.length ? -1 : 1; + int end= Math.min(str1.length, str2.length); + for (int i = 0; i < end; ++i) { + int diff= str1[i] - str2[i]; + if (diff != 0) + return diff; + } - for (int i = 0; i < str1.length; ++i) - if (str1[i] != str2[i]) - return str1[i] < str2[i] ? -1 : 1; - - return 0; + return str1.length - str2.length; } public static final boolean equals(char[] str1, int start1, int length1, char[] str2) {