From 40b988b4258f719e5a8ff199127b45de3c0d8da8 Mon Sep 17 00:00:00 2001 From: tromey Date: Tue, 23 Jan 2007 23:30:54 +0000 Subject: [PATCH] 2007-01-23 Marco Trudel * java/util/Arrays.java (binarySearch): Change comparison order. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@121091 138bc75d-0d04-0410-961f-82ee72b054a4 --- libjava/classpath/ChangeLog | 4 ++++ libjava/classpath/java/util/Arrays.java | 9 ++++++--- .../classpath/lib/java/util/Arrays$ArrayList.class | Bin 2662 -> 2662 bytes libjava/classpath/lib/java/util/Arrays.class | Bin 26603 -> 26603 bytes 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/libjava/classpath/ChangeLog b/libjava/classpath/ChangeLog index 3a3d8a221fe..489b9aa8cf7 100644 --- a/libjava/classpath/ChangeLog +++ b/libjava/classpath/ChangeLog @@ -1,3 +1,7 @@ +2007-01-23 Marco Trudel + + * java/util/Arrays.java (binarySearch): Change comparison order. + 2007-01-17 Tom Tromey * tools/gnu/classpath/tools/javah/PathOptionGroup.java diff --git a/libjava/classpath/java/util/Arrays.java b/libjava/classpath/java/util/Arrays.java index fbbf43f209b..72314243785 100644 --- a/libjava/classpath/java/util/Arrays.java +++ b/libjava/classpath/java/util/Arrays.java @@ -1,5 +1,5 @@ /* Arrays.java -- Utility class with methods to operate on arrays - Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -370,10 +370,13 @@ public class Arrays while (low <= hi) { mid = (low + hi) >>> 1; - final int d = Collections.compare(key, a[mid], c); + // NOTE: Please keep the order of a[mid] and key. Although + // not required by the specs, the RI has it in this order as + // well, and real programs (erroneously) depend on it. + final int d = Collections.compare(a[mid], key, c); if (d == 0) return mid; - else if (d < 0) + else if (d > 0) hi = mid - 1; else // This gets the insertion point right on the last loop diff --git a/libjava/classpath/lib/java/util/Arrays$ArrayList.class b/libjava/classpath/lib/java/util/Arrays$ArrayList.class index 98cdfd0e0705d639895434ee2fc61107a31559bb..bd2e14ab1bc0aac206701569d174c432ebe771f2 100644 GIT binary patch delta 157 zcwT!Z@=RodFq>d40}FQp0|$2_g8+9EgD7|NWEHj~#=gnzY>|vJCO>3L>jJV%GMcz<##XPe?Xp!|CV9_|ke!rUJjM1Zs$_a_Dw?#~Pw++P`txxY>3 H;fewPfw(O1 delta 157 zcwT!Z@=RodFq>c%0}FR80|$2|vpCqHCM3LJV%G<8KBHr22SpC3}W2p zfwE^AMcxQ4dXPe?{p!^#K9`3gc!rbo|M1Zs$_j?8v?hgza+@BbXxj#?l H;fewPWS=aI diff --git a/libjava/classpath/lib/java/util/Arrays.class b/libjava/classpath/lib/java/util/Arrays.class index 5dcf6af3f41a7aaab1dab9160cfb8614baa42880..6b86decd3e39fb78fc6b791b1ac9af6fdcc8c953 100644 GIT binary patch delta 4433 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 delta 4442 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 -- 2.11.4.GIT