Hi,

Here is an adaptation of the former patch concerning java/text.
This one is small and concerns only java/text/DecimalFormatSymbols.
According to the official specification, if the serial version is greater
than 2, you have to read the locale field. This is what is done here.

Regards,
Guilhem.

ChangeLog entry:

2003-11-21 Guilhem Lavaux <[EMAIL PROTECTED]>

  * java/text/DecimalFormatSymbols.java    (locale): New field.
  (serialVersionOnStream): Upgraded to number 2
  (readObject): updated to assign locale if it wasn't by the
  serializer.

Index: java/text/DecimalFormatSymbols.java
===================================================================
RCS file: /cvsroot/classpath/classpath/java/text/DecimalFormatSymbols.java,v
retrieving revision 1.7
diff -u -r1.7 DecimalFormatSymbols.java
--- java/text/DecimalFormatSymbols.java 15 Nov 2003 21:45:27 -0000      1.7
+++ java/text/DecimalFormatSymbols.java 21 Nov 2003 19:14:00 -0000
@@ -158,6 +158,7 @@
     percent = safeGetChar (res, "percent", '%');
     perMill = safeGetChar (res, "perMill", '\u2030');
     zeroDigit = safeGetChar (res, "zeroDigit", '0');
+    locale = loc;
   }
 
   /**
@@ -580,13 +581,20 @@
   /**
    * @serial This value represents the type of object being de-serialized.
    * 0 indicates a pre-Java 1.1.6 version, 1 indicates 1.1.6 or later.
-   */
-  private int serialVersionOnStream = 1;
+   * 0 indicates a pre-Java 1.1.6 version, 1 indicates 1.1.6 or later,
+   * 2 indicates 1.4 or later
+    */
+  private int serialVersionOnStream = 2;
   /**
    * @serial This is the character used to represent 0.
    */
   private char zeroDigit;
 
+  /**
+   * @serial the locale of these currency symbols.
+   */
+  private Locale locale;
+ 
   private static final long serialVersionUID = 5772796243397350300L;
 
   private void readObject(ObjectInputStream stream)
@@ -597,7 +605,11 @@
       {
         monetarySeparator = decimalSeparator;
        exponential = 'E';
-       serialVersionOnStream = 1;
       }
+    if (serialVersionOnStream < 2)
+      {
+       locale = Locale.getDefault();
+      }
+    serialVersionOnStream = 2;
   }
 }
_______________________________________________
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath

Reply via email to