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());
   }
 
   /**

Reply via email to