diff options
| author | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-01-03 22:58:31 +0000 |
|---|---|---|
| committer | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-01-03 22:58:31 +0000 |
| commit | 8a0383655d7d869ef9d344202c78ce3659927052 (patch) | |
| tree | 82dbb00c69057da2d374d746d77eb40854b23164 /libjava/gnu/gcj/convert/UnicodeToBytes.java | |
| parent | bd63b9439095ee94c8dd44ea2225d9db2a2db2c2 (diff) | |
| download | ppe42-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.java | 20 |
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 _) { |

