diff options
author | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-01-23 23:30:54 +0000 |
---|---|---|
committer | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-01-23 23:30:54 +0000 |
commit | 40b988b4258f719e5a8ff199127b45de3c0d8da8 (patch) | |
tree | 061da03067034437c2aeb787abcb6ab32145a205 /libjava/classpath | |
parent | 324392c5e680b566fe3766f3075b5ca0ecdc52c2 (diff) | |
download | gcc-40b988b4258f719e5a8ff199127b45de3c0d8da8.tar.gz |
2007-01-23 Marco Trudel <mtrudel@gmx.ch>
* 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
Diffstat (limited to 'libjava/classpath')
-rw-r--r-- | libjava/classpath/ChangeLog | 4 | ||||
-rw-r--r-- | libjava/classpath/java/util/Arrays.java | 9 | ||||
-rw-r--r-- | libjava/classpath/lib/java/util/Arrays$ArrayList.class | bin | 2662 -> 2662 bytes | |||
-rw-r--r-- | 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 <mtrudel@gmx.ch> + + * java/util/Arrays.java (binarySearch): Change comparison order. + 2007-01-17 Tom Tromey <tromey@redhat.com> * 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 Binary files differindex 98cdfd0e070..bd2e14ab1bc 100644 --- a/libjava/classpath/lib/java/util/Arrays$ArrayList.class +++ b/libjava/classpath/lib/java/util/Arrays$ArrayList.class diff --git a/libjava/classpath/lib/java/util/Arrays.class b/libjava/classpath/lib/java/util/Arrays.class Binary files differindex 5dcf6af3f41..6b86decd3e3 100644 --- a/libjava/classpath/lib/java/util/Arrays.class +++ b/libjava/classpath/lib/java/util/Arrays.class |