Hi,
The jIRCii app passes a CharseetDecoder to InputStreamReader that returns
null for charset() (its named NoConversion). This must be catched in the
InputStreamReader constructor.
2005-11-09 Roman Kennke <[EMAIL PROTECTED]>
* java/io/InputStreamReader.java
(InputStreamReader(InputStream, CharsetDecoder)): Catch the case
when the CharsetDecoder returns a null charset and handle it like
US-ASCII.
/Roman
Index: java/io/InputStreamReader.java
===================================================================
RCS file: /cvsroot/classpath/classpath/java/io/InputStreamReader.java,v
retrieving revision 1.26
diff -u -r1.26 InputStreamReader.java
--- java/io/InputStreamReader.java 13 Sep 2005 21:25:09 -0000 1.26
+++ java/io/InputStreamReader.java 9 Nov 2005 22:35:38 -0000
@@ -249,8 +249,12 @@
this.in = in;
this.decoder = decoder;
+ Charset charset = decoder.charset();
try {
- maxBytesPerChar = decoder.charset().newEncoder().maxBytesPerChar();
+ if (charset == null)
+ maxBytesPerChar = 1f;
+ else
+ maxBytesPerChar = charset.newEncoder().maxBytesPerChar();
} catch(UnsupportedOperationException _){
maxBytesPerChar = 1f;
}
@@ -258,7 +262,10 @@
decoder.onMalformedInput(CodingErrorAction.REPLACE);
decoder.onUnmappableCharacter(CodingErrorAction.REPLACE);
decoder.reset();
- encoding = EncodingHelper.getOldCanonical(decoder.charset().name());
+ if (charset == null)
+ encoding = "US-ASCII";
+ else
+ encoding = EncodingHelper.getOldCanonical(decoder.charset().name());
}
/**
_______________________________________________
Classpath-patches mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/classpath-patches