diff options
author | Ingo Proetel <proetel@aicas.com> | 2003-09-25 19:06:20 +0000 |
---|---|---|
committer | Michael Koch <mkoch@gcc.gnu.org> | 2003-09-25 19:06:20 +0000 |
commit | 9481d818d93d9debcfaa45192a0c259fa7b70df4 (patch) | |
tree | 14db075ac6662fd4ce88400d152bb15cf0bcca79 /libjava/java/io | |
parent | 864135da898c0f5cfcec8812a3a2f4f8404bd776 (diff) | |
download | gcc-9481d818d93d9debcfaa45192a0c259fa7b70df4.zip gcc-9481d818d93d9debcfaa45192a0c259fa7b70df4.tar.gz gcc-9481d818d93d9debcfaa45192a0c259fa7b70df4.tar.bz2 |
ObjectOutputStream.java: Allow putFields be called more than once.
2003-09-25 Ingo Proetel <proetel@aicas.com>
* java/io/ObjectOutputStream.java:
Allow putFields be called more than once.
From-SVN: r71791
Diffstat (limited to 'libjava/java/io')
-rw-r--r-- | libjava/java/io/ObjectOutputStream.java | 32 |
1 files changed, 19 insertions, 13 deletions
diff --git a/libjava/java/io/ObjectOutputStream.java b/libjava/java/io/ObjectOutputStream.java index 1437a4f..3e47e70 100644 --- a/libjava/java/io/ObjectOutputStream.java +++ b/libjava/java/io/ObjectOutputStream.java @@ -361,7 +361,7 @@ public class ObjectOutputStream extends OutputStream } catch (IOException ioe) { - throw new StreamCorruptedException ("Exception " + ioe + " thrown while exception was being written to stream."); + throw new StreamCorruptedException ("Exception " + ioe + " thrown while exception ("+e+") was being written to stream."); } reset (true); @@ -443,7 +443,7 @@ public class ObjectOutputStream extends OutputStream throw new NotActiveException ("defaultWriteObject called by non-active class and/or object"); if (fieldsAlreadyWritten) - throw new IOException ("Only one of putFields and defaultWriteObject may be called, and it may only be called once"); + throw new IOException ("Only one of writeFields and defaultWriteObject may be called, and it may only be called once"); fieldsAlreadyWritten = true; } @@ -866,8 +866,8 @@ public class ObjectOutputStream extends OutputStream public PutField putFields () throws IOException { - markFieldsWritten (); - + if (currentPutField == null) + { currentPutField = new PutField () { private byte[] prim_field_data @@ -1002,6 +1002,7 @@ public class ObjectOutputStream extends OutputStream } }; // end PutFieldImpl + } return currentPutField; } @@ -1012,7 +1013,12 @@ public class ObjectOutputStream extends OutputStream if (currentPutField == null) throw new NotActiveException ("writeFields can only be called after putFields has been called"); + // moved here from putFields since putFields + // may be called more than once, but not writeFields + markFieldsWritten(); + currentPutField.write (this); + currentPutField = null; } @@ -1248,7 +1254,7 @@ public class ObjectOutputStream extends OutputStream } catch (Exception _) { - throw new IOException (); + throw new IOException ("Unexpected Exception "+_); } } @@ -1263,7 +1269,7 @@ public class ObjectOutputStream extends OutputStream } catch (Exception _) { - throw new IOException (); + throw new IOException ("Unexpected Exception "+_); } } @@ -1278,7 +1284,7 @@ public class ObjectOutputStream extends OutputStream } catch (Exception _) { - throw new IOException (); + throw new IOException ("Unexpected Exception "+_); } } @@ -1293,7 +1299,7 @@ public class ObjectOutputStream extends OutputStream } catch (Exception _) { - throw new IOException (); + throw new IOException ("Unexpected Exception "+_); } } @@ -1308,7 +1314,7 @@ public class ObjectOutputStream extends OutputStream } catch (Exception _) { - throw new IOException (); + throw new IOException ("Unexpected Exception "+_); } } @@ -1323,7 +1329,7 @@ public class ObjectOutputStream extends OutputStream } catch (Exception _) { - throw new IOException (); + throw new IOException ("Unexpected Exception "+_); } } @@ -1338,7 +1344,7 @@ public class ObjectOutputStream extends OutputStream } catch (Exception _) { - throw new IOException (); + throw new IOException ("Unexpected Exception "+_); } } @@ -1353,7 +1359,7 @@ public class ObjectOutputStream extends OutputStream } catch (Exception _) { - throw new IOException (); + throw new IOException ("Unexpected Exception "+_); } } @@ -1369,7 +1375,7 @@ public class ObjectOutputStream extends OutputStream } catch (Exception _) { - throw new IOException (); + throw new IOException ("Unexpected Exception "+_); } } |