From 26578e6092fa642babf6a621c89bebd6f237f0e5 Mon Sep 17 00:00:00 2001 From: Marco Trudel Date: Wed, 24 Jan 2007 00:30:54 +0100 Subject: [PATCH] Arrays.java (binarySearch): Change comparison order. 2007-01-23 Marco Trudel * java/util/Arrays.java (binarySearch): Change comparison order. From-SVN: r121091 --- libjava/classpath/ChangeLog | 4 ++++ libjava/classpath/java/util/Arrays.java | 9 ++++++--- .../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 zcmaDR@=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 zcmaDR@=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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