Index: ChangeLog =================================================================== RCS file: /cvs/kaffe/kaffe/ChangeLog,v retrieving revision 1.1339 diff -u -r1.1339 ChangeLog --- ChangeLog 19 May 2003 08:01:20 -0000 1.1339 +++ ChangeLog 21 May 2003 23:52:55 -0000 @@ -1,3 +1,8 @@ +2003-05-22 Daniel Bonniot + + * libraries/javalib/java/util/Arrays: + (equals(Object[], Object[])) fixed handling of null elements. + 2003-05-19 Gwenole Beauchesne Add support for Linux/AMD64. Index: libraries/javalib/java/util/Arrays.java =================================================================== RCS file: /cvs/kaffe/kaffe/libraries/javalib/java/util/Arrays.java,v retrieving revision 1.7 diff -u -r1.7 Arrays.java --- libraries/javalib/java/util/Arrays.java 22 Nov 2001 06:21:17 -0000 1.7 +++ libraries/javalib/java/util/Arrays.java 21 May 2003 23:53:52 -0000 @@ -285,19 +285,29 @@ } public static boolean equals(Object[] a, Object[] a2) { - try { + if (a == a2) { + return true; + } + + if (a == null || a2 == null) { + return false; // One is null and not the other. + } + if (a.length != a2.length) { return false; } + for (int i = a.length; i-- > 0; ) { - if (!a[i].equals(a2[i])) { + if (a[i] == null) { + if (a2[i] != null) { + return false; + } + } else if (!a[i].equals(a2[i])) { return false; } } + return true; - } catch (NullPointerException _) { - return (a == a2); // ie, they are both null - } } public static void fill(boolean[] a, boolean val) {