summaryrefslogtreecommitdiffstats
path: root/libjava/gnu/gcj/convert/UnicodeToBytes.java
diff options
context:
space:
mode:
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2006-01-03 22:58:31 +0000
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2006-01-03 22:58:31 +0000
commit8a0383655d7d869ef9d344202c78ce3659927052 (patch)
tree82dbb00c69057da2d374d746d77eb40854b23164 /libjava/gnu/gcj/convert/UnicodeToBytes.java
parentbd63b9439095ee94c8dd44ea2225d9db2a2db2c2 (diff)
downloadppe42-gcc-8a0383655d7d869ef9d344202c78ce3659927052.tar.gz
ppe42-gcc-8a0383655d7d869ef9d344202c78ce3659927052.zip
PR libgcj/9715, PR libgcj/19132:
* java/nio/charset/Charset.java (charsetForName): Try default provider first. (availableCharsets): Re-merged. (providers2): Likewise. (defaultCharset): Likewise. * sources.am, Makefile.in: Rebuilt. * gnu/java/nio/charset/Provider.java: Removed. * java/io/OutputStreamWriter.java (OutputStreamWriter(OutputStream,Charset)): New constructor. (OutputStreamWriter(OutputStream,CharsetEncoder)): Likewise. * java/io/InputStreamReader.java (InputStreamReader(InputStream,CharsetDecoder)): New constructor. (InputStreamReader(InputStream,Charset)): Likewise. * gnu/gcj/convert/BytesToUnicode.java (getDecoder): Try a BytesToCharsetAdaptor. * gnu/gcj/convert/UnicodeToBytes.java (getEncoder): Try a CharsetToBytesAdaptor. * gnu/gcj/convert/CharsetToBytesAdaptor.java: New file. * gnu/gcj/convert/BytesToCharsetAdaptor.java: New file. * mauve-libgcj: Remove getEncoding exclusion. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@109294 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/gnu/gcj/convert/UnicodeToBytes.java')
-rw-r--r--libjava/gnu/gcj/convert/UnicodeToBytes.java20
1 files changed, 17 insertions, 3 deletions
diff --git a/libjava/gnu/gcj/convert/UnicodeToBytes.java b/libjava/gnu/gcj/convert/UnicodeToBytes.java
index b1432586ce5..8522bec117a 100644
--- a/libjava/gnu/gcj/convert/UnicodeToBytes.java
+++ b/libjava/gnu/gcj/convert/UnicodeToBytes.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999, 2000, 2001, 2003 Free Software Foundation
+/* Copyright (C) 1999, 2000, 2001, 2003, 2005 Free Software Foundation
This file is part of libgcj.
@@ -8,6 +8,8 @@ details. */
package gnu.gcj.convert;
+import java.nio.charset.Charset;
+
public abstract class UnicodeToBytes extends IOConverter
{
/** Buffer to emit bytes to.
@@ -99,10 +101,22 @@ public abstract class UnicodeToBytes extends IOConverter
catch (Throwable ex)
{
try
- {
+ {
// We pass the original name to iconv and let it handle
- // its own aliasing.
+ // its own aliasing. Note that we intentionally prefer
+ // iconv over nio.
return new Output_iconv (encoding);
+ }
+ catch (Throwable _)
+ {
+ // Ignore, and try the next method.
+ }
+ try
+ {
+ // Try using finding java.nio.charset.Charset and using
+ // the adaptor. Use the original name as Charsets have
+ // their own canonical names.
+ return new CharsetToBytesAdaptor(Charset.forName(encoding));
}
catch (Throwable _)
{
OpenPOWER on IntegriCloud