summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2001-03-09 01:35:54 +0000
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2001-03-09 01:35:54 +0000
commit92cfe8169355ff6c2da9416a366cf9f73f05bf6c (patch)
tree92da805f14b5e60dbd6309e9717aa67525b93e34
parent92c5a67aa15ae0b84d696dd499091e42e273dc86 (diff)
downloadppe42-gcc-92cfe8169355ff6c2da9416a366cf9f73f05bf6c.tar.gz
ppe42-gcc-92cfe8169355ff6c2da9416a366cf9f73f05bf6c.zip
* java/io/ObjectStreamClass.java (setUID): Don't write interface
info for array classes. Fixes PR libgcj/1971. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@40337 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--libjava/ChangeLog6
-rw-r--r--libjava/java/io/ObjectStreamClass.java14
2 files changed, 15 insertions, 5 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 9de90404a17..ce7250e71cb 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,9 @@
+2001-03-08 Tom Tromey <tromey@redhat.com>
+
+ * java/io/ObjectStreamClass.java (setUID): Don't write interface
+ info for array classes.
+ Fixes PR libgcj/1971.
+
2001-03-06 Bryce McKinlay <bryce@albatross.co.nz>
* java/util/TreeSet.java (writeObject): Use a for-loop instead of
diff --git a/libjava/java/io/ObjectStreamClass.java b/libjava/java/io/ObjectStreamClass.java
index d7306f81b74..eca172a4e39 100644
--- a/libjava/java/io/ObjectStreamClass.java
+++ b/libjava/java/io/ObjectStreamClass.java
@@ -444,11 +444,15 @@ public class ObjectStreamClass implements Serializable
| Modifier.INTERFACE | Modifier.PUBLIC);
data_out.writeInt (modifiers);
- Class[] interfaces = cl.getInterfaces ();
- Arrays.sort (interfaces, interfaceComparator);
- for (int i=0; i < interfaces.length; i++)
- data_out.writeUTF (interfaces[i].getName ());
-
+ // Pretend that an array has no interfaces, because when array
+ // serialization was defined (JDK 1.1), arrays didn't have it.
+ if (! cl.isArray ())
+ {
+ Class[] interfaces = cl.getInterfaces ();
+ Arrays.sort (interfaces, interfaceComparator);
+ for (int i=0; i < interfaces.length; i++)
+ data_out.writeUTF (interfaces[i].getName ());
+ }
Field field;
Field[] fields = cl.getDeclaredFields ();
OpenPOWER on IntegriCloud