aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/io
diff options
context:
space:
mode:
authorIngo Proetel <proetel@aicas.com>2003-09-25 19:06:20 +0000
committerMichael Koch <mkoch@gcc.gnu.org>2003-09-25 19:06:20 +0000
commit9481d818d93d9debcfaa45192a0c259fa7b70df4 (patch)
tree14db075ac6662fd4ce88400d152bb15cf0bcca79 /libjava/java/io
parent864135da898c0f5cfcec8812a3a2f4f8404bd776 (diff)
downloadgcc-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.java32
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 "+_);
}
}