The standard characters set in SimpleDateFormat should match
the length of the localised characters obtained from our locale
data.

ChangeLog:

2008-12-30  Andrew John Hughes  <gnu_and...@member.fsf.org>

        * java/text/SimpleDateFormat.java:
        (standardChars): Use standard characters from CLDR.
        (RFC822_TIMEZONE_FIELD): Fixed to match new standard
        characters.

-- 
Andrew :)

Support Free Java!
Contribute to GNU Classpath and the OpenJDK
http://www.gnu.org/software/classpath
http://openjdk.java.net
PGP Key: 94EFD9D8 (http://subkeys.pgp.net)
Fingerprint = F8EF F1EA 401E 2E60 15FA  7927 142C 2591 94EF D9D8
Index: java/text/SimpleDateFormat.java
===================================================================
RCS file: /sources/classpath/classpath/java/text/SimpleDateFormat.java,v
retrieving revision 1.60
diff -u -u -r1.60 SimpleDateFormat.java
--- java/text/SimpleDateFormat.java     5 May 2008 18:42:07 -0000       1.60
+++ java/text/SimpleDateFormat.java     31 Dec 2008 01:37:09 -0000
@@ -235,8 +235,8 @@
    */
   private static final long serialVersionUID = 4774881970558875024L;
 
-  // This string is specified in the Java class libraries.
-  private static final String standardChars = "GyMdkHmsSEDFwWahKzZ";
+  // This string is specified in the root of the CLDR.
+  private static final String standardChars = "GyMdkHmsSEDFwWahKzYeugAZvcL";
 
   /**  
    * Represents the position of the RFC822 timezone pattern character
@@ -244,7 +244,7 @@
    * U.S. locale, this is 'Z'.  The value is the offset of the current
    * time from GMT e.g. -0500 would be five hours prior to GMT.
    */  
-  private static final int RFC822_TIMEZONE_FIELD = 18;
+  private static final int RFC822_TIMEZONE_FIELD = 23;
 
   /**
    * Reads the serialized version of this object.
@@ -576,6 +576,7 @@
            int j = oldChars.indexOf(ch);
            if (j >= 0)
              ch = newChars.charAt(j);
+
          }
        buf.append(ch);
       }

Reply via email to