Hi,

Committed.

Regards,
Jeroen

2006-02-12  Jeroen Frijters  <[EMAIL PROTECTED]>

        Fixes PR 26220
        * java/io/InputStreamReader.java
        (InputStreamReader(InputStream)): Use SystemProperties.
        (InputStreamReader(InputStream,Charset)): Corrected @since tag.
        Throw NullPointerException if in is null.
        Added maxBytesPerChar initialisation.
        (InputStreamReader(InputStream,CharsetDecoder)): Corrected
@since tag.
        Throw NullPointerException if in is null.
Index: java/io/InputStreamReader.java
===================================================================
RCS file: /cvsroot/classpath/classpath/java/io/InputStreamReader.java,v
retrieving revision 1.28
diff -u -r1.28 InputStreamReader.java
--- java/io/InputStreamReader.java      4 Jan 2006 00:11:33 -0000       1.28
+++ java/io/InputStreamReader.java      12 Feb 2006 09:28:09 -0000
@@ -1,5 +1,6 @@
 /* InputStreamReader.java -- Reader than transforms bytes to chars
-   Copyright (C) 1998, 1999, 2001, 2003, 2004, 2005  Free Software Foundation, 
Inc.
+   Copyright (C) 1998, 1999, 2001, 2003, 2004, 2005, 2006
+   Free Software Foundation, Inc.
 
 This file is part of GNU Classpath.
 
@@ -38,6 +39,7 @@
 
 package java.io;
 
+import gnu.classpath.SystemProperties;
 import gnu.java.nio.charset.EncodingHelper;
 
 import java.nio.ByteBuffer;
@@ -145,7 +147,7 @@
     this.in = in;
     try 
        { 
-         encoding = System.getProperty("file.encoding");
+         encoding = SystemProperties.getProperty("file.encoding");
          // Don't use NIO if avoidable
          if(EncodingHelper.isISOLatin1(encoding))
            {
@@ -231,12 +233,20 @@
    * charset to decode the bytes in the InputStream into
    * characters.
    * 
-   * @since 1.5
+   * @since 1.4
    */
   public InputStreamReader(InputStream in, Charset charset) {
+    if (in == null)
+      throw new NullPointerException();
     this.in = in;
     decoder = charset.newDecoder();
 
+    try {
+      maxBytesPerChar = charset.newEncoder().maxBytesPerChar();
+    } catch(UnsupportedOperationException _){
+      maxBytesPerChar = 1f;
+    }
+
     decoder.onMalformedInput(CodingErrorAction.REPLACE);
     decoder.onUnmappableCharacter(CodingErrorAction.REPLACE);
     decoder.reset();
@@ -247,9 +257,11 @@
    * Creates an InputStreamReader that uses the given charset decoder
    * to decode the bytes in the InputStream into characters.
    * 
-   * @since 1.5
+   * @since 1.4
    */
   public InputStreamReader(InputStream in, CharsetDecoder decoder) {
+    if (in == null)
+      throw new NullPointerException();
     this.in = in;
     this.decoder = decoder;
 

Reply via email to