PatchSet 5253 
Date: 2004/10/06 22:31:20
Author: kaz
Branch: HEAD
Tag: (none) 
Log:
2004-10-07  Ito Kazumitsu  <[EMAIL PROTECTED]>

        * libraries/javalib/kaffe/io/ByteToCharConverter.java,
        libraries/javalib/kaffe/io/CharToByteConverter.java,
        libraries/javalib/kaffe/io/ConverterAlias.java:
        When to use iconv, use encoding names defined in iconv.
        New method iconvAlias in ConverterAlias.java returns such
        names.

Members: 
        ChangeLog:1.2807->1.2808 
        libraries/javalib/kaffe/io/ByteToCharConverter.java:1.24->1.25 
        libraries/javalib/kaffe/io/CharToByteConverter.java:1.17->1.18 
        libraries/javalib/kaffe/io/ConverterAlias.java:1.19->1.20 

Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.2807 kaffe/ChangeLog:1.2808
--- kaffe/ChangeLog:1.2807      Tue Oct  5 22:11:16 2004
+++ kaffe/ChangeLog     Wed Oct  6 22:31:20 2004
@@ -1,3 +1,12 @@
+2004-10-07  Ito Kazumitsu  <[EMAIL PROTECTED]>
+
+       * libraries/javalib/kaffe/io/ByteToCharConverter.java,
+       libraries/javalib/kaffe/io/CharToByteConverter.java,
+       libraries/javalib/kaffe/io/ConverterAlias.java:
+       When to use iconv, use encoding names defined in iconv.
+       New method iconvAlias in ConverterAlias.java returns such
+       names.
+
 2004-10-05  Dalibor Topic  <[EMAIL PROTECTED]>
 
        * libraries/javalib/javax/imageio/spi/ImageReaderSpi.java,
Index: kaffe/libraries/javalib/kaffe/io/ByteToCharConverter.java
diff -u kaffe/libraries/javalib/kaffe/io/ByteToCharConverter.java:1.24 
kaffe/libraries/javalib/kaffe/io/ByteToCharConverter.java:1.25
--- kaffe/libraries/javalib/kaffe/io/ByteToCharConverter.java:1.24      Mon Mar 22 
11:25:30 2004
+++ kaffe/libraries/javalib/kaffe/io/ByteToCharConverter.java   Wed Oct  6 22:31:23 
2004
@@ -109,27 +109,27 @@
        if (cls == noConverter) {
                return (null);
        }
+       String realenc = ConverterAlias.alias(enc);
        if (cls == useIconv) {
-               return (getByteToCharIconv(ConverterAlias.alias(enc)));
+               return (getByteToCharIconv(ConverterAlias.iconvAlias(realenc)));
        }
        try {
                if (cls == null) {
-                       String realenc = ConverterAlias.alias(enc);
                        if (ConverterAlias.shouldUseIconv(realenc)) {
-                               ByteToCharConverter conv = getByteToCharIconv(realenc);
+                               ByteToCharConverter conv = 
getByteToCharIconv(ConverterAlias.iconvAlias(realenc));
                                cache.put(enc, (conv != null ? useIconv : 
noConverter));
                                return (conv);
                        }
-                       realenc = encodingRoot + ".ByteToChar" + realenc;
-                       cls = Class.forName(realenc);
+                       String enccls = encodingRoot + ".ByteToChar" + realenc;
+                       cls = Class.forName(enccls);
                        cache.put(enc, cls);
                }
                return ((ByteToCharConverter)cls.newInstance());
        }
        catch (ClassNotFoundException _) {
                try {
-                       String realenc = encodingRoot + ".ByteToChar" + 
ConverterAlias.alias(enc);
-                       InputStream in = 
ClassLoader.getSystemResourceAsStream(realenc.replace('.', '/') + ".ser");
+                       String enccls = encodingRoot + ".ByteToChar" + realenc;
+                       InputStream in = 
ClassLoader.getSystemResourceAsStream(enccls.replace('.', '/') + ".ser");
                        if (in != null) {
                                ObjectInputStream oin = new ObjectInputStream(in);
                                Object obj = oin.readObject();
@@ -149,7 +149,7 @@
        catch (InstantiationException _) {
        }
        // Finally, try iconv.
-        ByteToCharConverter conv = getByteToCharIconv(ConverterAlias.alias(enc));
+        ByteToCharConverter conv = getByteToCharIconv(realenc);
        cache.put(enc, (conv != null ? useIconv : noConverter));
        return (conv);
 }
Index: kaffe/libraries/javalib/kaffe/io/CharToByteConverter.java
diff -u kaffe/libraries/javalib/kaffe/io/CharToByteConverter.java:1.17 
kaffe/libraries/javalib/kaffe/io/CharToByteConverter.java:1.18
--- kaffe/libraries/javalib/kaffe/io/CharToByteConverter.java:1.17      Mon Mar 22 
11:25:30 2004
+++ kaffe/libraries/javalib/kaffe/io/CharToByteConverter.java   Wed Oct  6 22:31:23 
2004
@@ -86,27 +86,27 @@
        if (cls == noConverter) {
                return (null);
        }
+       String realenc = ConverterAlias.alias(enc);
        if (cls == useIconv) {
-               return (getCharToByteIconv(ConverterAlias.alias(enc)));
+               return (getCharToByteIconv(ConverterAlias.iconvAlias(realenc)));
        }
        try {
                if (cls == null) {
-                       String realenc = ConverterAlias.alias(enc);
                        if (ConverterAlias.shouldUseIconv(realenc)) {
-                               CharToByteConverter conv = getCharToByteIconv(realenc);
+                               CharToByteConverter conv = 
getCharToByteIconv(ConverterAlias.iconvAlias(realenc));
                                cache.put(enc, (conv != null ? useIconv : 
noConverter));
                                return (conv);
                        }
-                       realenc = encodingRoot + ".CharToByte" + realenc;
-                       cls = Class.forName(realenc);
+                       String enccls = encodingRoot + ".CharToByte" + realenc;
+                       cls = Class.forName(enccls);
                        cache.put(enc, cls);
                }
                return (CharToByteConverter)cls.newInstance();
        }
        catch (ClassNotFoundException _) {
                try {
-                       String realenc = encodingRoot + ".CharToByte" + 
ConverterAlias.alias(enc);
-                       InputStream in = 
ClassLoader.getSystemResourceAsStream(realenc.replace('.', '/') + ".ser");
+                       String enccls = encodingRoot + ".CharToByte" + realenc;
+                       InputStream in = 
ClassLoader.getSystemResourceAsStream(enccls.replace('.', '/') + ".ser");
                        if (in != null) {
                                ObjectInputStream oin = new ObjectInputStream(in);
                                Object obj = oin.readObject();
@@ -126,7 +126,7 @@
        catch (IllegalAccessException _) {
        }
        // Finally, try iconv.
-       CharToByteConverter conv = getCharToByteIconv(ConverterAlias.alias(enc));
+       CharToByteConverter conv = getCharToByteIconv(realenc);
        cache.put(enc, (conv != null ? useIconv : noConverter));
        return (conv);
 }
Index: kaffe/libraries/javalib/kaffe/io/ConverterAlias.java
diff -u kaffe/libraries/javalib/kaffe/io/ConverterAlias.java:1.19 
kaffe/libraries/javalib/kaffe/io/ConverterAlias.java:1.20
--- kaffe/libraries/javalib/kaffe/io/ConverterAlias.java:1.19   Wed Sep 29 16:44:10 
2004
+++ kaffe/libraries/javalib/kaffe/io/ConverterAlias.java        Wed Oct  6 22:31:24 
2004
@@ -38,7 +38,7 @@
        alias.put("IBM819",             "8859_1");
        alias.put("CP819",              "8859_1");
        alias.put("CSISOLATIN1",        "8859_1");
-       useIconv.put("8859_1", "Y");
+       useIconv.put("8859_1", "ISO-8859-1");
 
        alias.put("ISO_8859-2:1987",    "8859_2");
        alias.put("ISO-IR-101",         "8859_2");
@@ -47,7 +47,7 @@
        alias.put("LATIN2",             "8859_2");
        alias.put("L2",                 "8859_2");
        alias.put("CSISOLATIN2",        "8859_2");
-       useIconv.put("8859_2", "Y");
+       useIconv.put("8859_2", "ISO-8859-2");
 
        alias.put("ISO_8859-3:1988",    "8859_3");
        alias.put("ISO-IR-109",         "8859_3");
@@ -56,7 +56,7 @@
        alias.put("LATIN3",             "8859_3");
        alias.put("L3",                 "8859_3");
        alias.put("CSISOLATIN3",        "8859_3");
-       useIconv.put("8859_3", "Y");
+       useIconv.put("8859_3", "ISO-8859-3");
 
        alias.put("ISO_8859-4:1988",    "8859_4");
        alias.put("ISO-IR-110",         "8859_4");
@@ -65,7 +65,7 @@
        alias.put("LATIN4",             "8859_4");
        alias.put("L4",                 "8859_4");
        alias.put("CSISOLATIN4",        "8859_4");
-       useIconv.put("8859_4", "Y");
+       useIconv.put("8859_4", "ISO-8859-4");
 
        alias.put("ISO_8859-5:1988",    "8859_5");
        alias.put("ISO-IR-144",         "8859_5");
@@ -73,7 +73,7 @@
        alias.put("ISO-8859-5",         "8859_5");
        alias.put("CYRILLIC",           "8859_5");
        alias.put("CSISOLATINCYRILLIC", "8859_5");
-       useIconv.put("8859_5", "Y");
+       useIconv.put("8859_5", "ISO-8859-5");
 
        alias.put("ISO_8859-6:1987",    "8859_6");
        alias.put("ISO-IR-127",         "8859_6");
@@ -83,7 +83,7 @@
        alias.put("ASMO-708",           "8859_6");
        alias.put("ARABIC",             "8859_6");
        alias.put("CSISOLATINARABIC",   "8859_6");
-       useIconv.put("8859_6", "Y");
+       useIconv.put("8859_6", "ISO-8859-6");
 
        alias.put("ISO_8859-7:1987",    "8859_7");
        alias.put("ISO-IR-126",         "8859_7");
@@ -94,7 +94,7 @@
        alias.put("GREEK",              "8859_7");
        alias.put("GREEK8",             "8859_7");
        alias.put("CSISOLATINGREEK",    "8859_7");
-       useIconv.put("8859_7", "Y");
+       useIconv.put("8859_7", "ISO-8859-7");
 
        alias.put("ISO_8859-8:1988",    "8859_8");
        alias.put("ISO-IR-138",         "8859_8");
@@ -102,7 +102,7 @@
        alias.put("ISO-8859-8",         "8859_8");
        alias.put("HEBREW",             "8859_8");
        alias.put("CSISOLATINHEBREW",   "8859_8");
-       useIconv.put("8859_8", "Y");
+       useIconv.put("8859_8", "ISO-8859-8");
 
        alias.put("ISO_8859-9:1989",    "8859_9");
        alias.put("ISO-IR-148",         "8859_9");
@@ -111,23 +111,23 @@
        alias.put("LATIN5",             "8859_9");
        alias.put("L5",                 "8859_9");
        alias.put("CSISOLATIN5",        "8859_9");
-       useIconv.put("8859_9", "Y");
+       useIconv.put("8859_9", "ISO-8859-9");
 
        alias.put("EBCDIC",             "CP1046");
        useIconv.put("CP1046", "Y");
 
        alias.put("UTF-8",              "UTF8");
-       useIconv.put("UTF8", "Y");
+       useIconv.put("UTF8", "UTF-8");
 
        alias.put("KOI8-R",             "KOI8_R");
        alias.put("CSKOI8R",            "KOI8_R");
-       useIconv.put("KOI8_R", "Y");
+       useIconv.put("KOI8_R", "KOI8-R");
 
        alias.put("EUCJP",              "EUC-JP");
        alias.put("EUC_JP",             "EUC-JP");
        alias.put("EUCJIS",             "EUC-JP");
        alias.put("CSEUCPKDFMTJAPANESE","EUC-JP");
-       useIconv.put("EUC-JP", "Y");
+       useIconv.put("EUC-JP", "EUC-JP");
 
        alias.put("US-ASCII",           "ASCII");
        alias.put("ANSI_X3.4-1968",     "ASCII");
@@ -139,12 +139,12 @@
        alias.put("IBM367",             "ASCII");
        alias.put("CP367",              "ASCII");
        alias.put("CPASCII",            "ASCII");
-       useIconv.put("ASCII", "Y");
+       useIconv.put("ASCII", "ASCII");
 
        alias.put("UNICODEBIGUNMARKED", "UTF-16BE");
-       useIconv.put("UTF-16BE", "Y");
+       useIconv.put("UTF-16BE", "UTF-16BE");
        alias.put("UNICODELITTLEUNMARKED",      "UTF-16LE");
-       useIconv.put("UTF-16LE", "Y");
+       useIconv.put("UTF-16LE", "UTF-16LE");
 
        /* add more here */
     }
@@ -172,5 +172,16 @@
        name = name.toUpperCase();
        Object obj = useIconv.get(name);
        return obj != null ? true : false;
+    }
+
+    /**
+     * Returns encoding name to be used for calling iconv.
+     *
+     * @param name of the encoding.
+     * @return Encoding name to be used for calling iconv.
+     */
+    static String iconvAlias(String name) {
+       String iconvEnc = (String)(useIconv.get(name.toUpperCase()));
+       return iconvEnc == null ? name : iconvEnc;
     }
 }

_______________________________________________
kaffe mailing list
[EMAIL PROTECTED]
http://kaffe.org/cgi-bin/mailman/listinfo/kaffe

Reply via email to