summaryrefslogtreecommitdiff
path: root/libjava/classpath
diff options
context:
space:
mode:
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2007-01-23 23:30:54 +0000
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2007-01-23 23:30:54 +0000
commit40b988b4258f719e5a8ff199127b45de3c0d8da8 (patch)
tree061da03067034437c2aeb787abcb6ab32145a205 /libjava/classpath
parent324392c5e680b566fe3766f3075b5ca0ecdc52c2 (diff)
downloadgcc-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/ChangeLog4
-rw-r--r--libjava/classpath/java/util/Arrays.java9
-rw-r--r--libjava/classpath/lib/java/util/Arrays$ArrayList.classbin2662 -> 2662 bytes
-rw-r--r--libjava/classpath/lib/java/util/Arrays.classbin26603 -> 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
index 98cdfd0e070..bd2e14ab1bc 100644
--- a/libjava/classpath/lib/java/util/Arrays$ArrayList.class
+++ b/libjava/classpath/lib/java/util/Arrays$ArrayList.class
Binary files differ
diff --git a/libjava/classpath/lib/java/util/Arrays.class b/libjava/classpath/lib/java/util/Arrays.class
index 5dcf6af3f41..6b86decd3e3 100644
--- a/libjava/classpath/lib/java/util/Arrays.class
+++ b/libjava/classpath/lib/java/util/Arrays.class
Binary files differ