Hi,
We were not setting the encoding name in the new 1.5 OutputStreamWriter
methods as pointed out in the bug report. We were already doing it in
the InputStreamReader class so I replicated that logic here.
2006-11-08 Mark Wielaard <[EMAIL PROTECTED]>
Fixes bug #29754
* java/io/OutputStreamWriter.java
(OutputStreamWriter(OutputStream,Charset)): Set encodingName.
(OutputStreamWriter(OutputStream,CharsetEncoder)): Likewise.
Committed,
Mark
Index: java/io/OutputStreamWriter.java
===================================================================
RCS file: /cvsroot/classpath/classpath/java/io/OutputStreamWriter.java,v
retrieving revision 1.21
diff -u -r1.21 OutputStreamWriter.java
--- java/io/OutputStreamWriter.java 4 Jan 2006 00:11:33 -0000 1.21
+++ java/io/OutputStreamWriter.java 8 Nov 2006 16:53:54 -0000
@@ -223,6 +223,7 @@
encoder.onMalformedInput(CodingErrorAction.REPLACE);
encoder.onUnmappableCharacter(CodingErrorAction.REPLACE);
outputBuffer = CharBuffer.allocate(BUFFER_SIZE);
+ encodingName = EncodingHelper.getOldCanonical(cs.name());
}
/**
@@ -240,6 +241,11 @@
this.out = out;
encoder = enc;
outputBuffer = CharBuffer.allocate(BUFFER_SIZE);
+ Charset cs = enc.charset();
+ if (cs == null)
+ encodingName = "US-ASCII";
+ else
+ encodingName = EncodingHelper.getOldCanonical(cs.name());
}
/**