summaryrefslogtreecommitdiffstats
path: root/libjava/java/io
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/java/io')
-rw-r--r--libjava/java/io/File.java20
-rw-r--r--libjava/java/io/ObjectOutputStream.java4
-rw-r--r--libjava/java/io/ObjectStreamClass.java4
-rw-r--r--libjava/java/io/OptionalDataException.java8
-rw-r--r--libjava/java/io/SyncFailedException.java5
5 files changed, 32 insertions, 9 deletions
diff --git a/libjava/java/io/File.java b/libjava/java/io/File.java
index 01d8d53fee9..fc3477c040b 100644
--- a/libjava/java/io/File.java
+++ b/libjava/java/io/File.java
@@ -388,6 +388,24 @@ public class File implements Serializable
FileDeleter.add (this);
}
+ private void writeObject (ObjectOutputStream oos) throws IOException
+ {
+ oos.defaultWriteObject ();
+ oos.writeChar (separatorChar);
+ }
+
+ private void readObject (ObjectInputStream ois)
+ throws ClassNotFoundException, IOException
+ {
+ ois.defaultReadObject ();
+
+ // If the file was from an OS with a different dir separator,
+ // fixup the path to use the separator on this OS.
+ char oldSeparatorChar = ois.readChar ();
+ if (oldSeparatorChar != separatorChar)
+ path = path.replace (oldSeparatorChar, separatorChar);
+ }
+
// QUERY arguments to access function.
private final static int READ = 0;
private final static int WRITE = 1;
@@ -404,4 +422,6 @@ public class File implements Serializable
private final native long attr (String p, int query);
private final native boolean access (String p, int query);
private final native boolean stat (String p, int query);
+
+ private static final long serialVersionUID = 301077366599181567L;
}
diff --git a/libjava/java/io/ObjectOutputStream.java b/libjava/java/io/ObjectOutputStream.java
index c4ffc8c6d1e..664b882e229 100644
--- a/libjava/java/io/ObjectOutputStream.java
+++ b/libjava/java/io/ObjectOutputStream.java
@@ -313,12 +313,12 @@ public class ObjectOutputStream extends OutputStream
{
currentObjectStreamClass = hierarchy[i];
+ fieldsAlreadyWritten = false;
has_write = currentObjectStreamClass.hasWriteMethod ();
+
writeFields (obj, currentObjectStreamClass.fields,
has_write);
- fieldsAlreadyWritten = false;
-
if (has_write)
{
drain ();
diff --git a/libjava/java/io/ObjectStreamClass.java b/libjava/java/io/ObjectStreamClass.java
index 5bd867fa5ee..085c72b2da3 100644
--- a/libjava/java/io/ObjectStreamClass.java
+++ b/libjava/java/io/ObjectStreamClass.java
@@ -635,6 +635,10 @@ public class ObjectStreamClass implements Serializable
// these are accessed by ObjectIn/OutputStream
int primFieldSize = -1; // -1 if not yet calculated
int objectFieldCount;
+
+ // This is probably not necessary because this class is special cased already
+ // but it will avoid showing up as a discrepancy when comparing SUIDs.
+ private static final long serialVersionUID = -6120832682080437368L;
}
diff --git a/libjava/java/io/OptionalDataException.java b/libjava/java/io/OptionalDataException.java
index eabda73696b..ed4624b257c 100644
--- a/libjava/java/io/OptionalDataException.java
+++ b/libjava/java/io/OptionalDataException.java
@@ -23,12 +23,16 @@ public class OptionalDataException extends ObjectStreamException
public boolean eof;
public int length;
- public OptionalDataException()
+ // FIXME: This can probably go away once the right signatures of
+ // these package private constructors is determined.
+ private static final long serialVersionUID = -8011121865681257820L;
+
+ OptionalDataException()
{
super();
}
- public OptionalDataException(String msg)
+ OptionalDataException(String msg)
{
super(msg);
}
diff --git a/libjava/java/io/SyncFailedException.java b/libjava/java/io/SyncFailedException.java
index 05f4c3dee7b..964d24a220b 100644
--- a/libjava/java/io/SyncFailedException.java
+++ b/libjava/java/io/SyncFailedException.java
@@ -22,11 +22,6 @@ package java.io;
public class SyncFailedException extends IOException
{
- public SyncFailedException ()
- {
- super ();
- }
-
public SyncFailedException (String s)
{
super (s);
OpenPOWER on IntegriCloud