From 4f1309c14c8c1e2f3ad29895624e7ff1802956cc Mon Sep 17 00:00:00 2001 From: tromey Date: Tue, 20 Feb 2001 19:01:55 +0000 Subject: * java/io/PipedWriter.java (flush): Throw exception if stream closed. * java/io/OutputStreamWriter.java (write): Throw exception if stream closed. (writeChars): Don't throw exception if stream closed. * java/io/CharArrayWriter.java (closed): New field. (close): Set it. (flush): Throw exception if stream closed. (reset): Synchronize on correct lock. Allow stream to be reopened. (toCharArray, toString, writeTo): Synchronize. (write): Throwe exception if stream closed. * java/io/BufferedWriter.java (close): Clear `buffer'. (flush): Throw IOException if stream is closed. (write): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@39927 138bc75d-0d04-0410-961f-82ee72b054a4 --- libjava/java/io/OutputStreamWriter.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'libjava/java/io/OutputStreamWriter.java') diff --git a/libjava/java/io/OutputStreamWriter.java b/libjava/java/io/OutputStreamWriter.java index 41275985bea..527ff75c66b 100644 --- a/libjava/java/io/OutputStreamWriter.java +++ b/libjava/java/io/OutputStreamWriter.java @@ -86,6 +86,9 @@ public class OutputStreamWriter extends Writer { synchronized (lock) { + if (out == null) + throw new IOException("Stream closed"); + if (wcount > 0) { writeChars(work, 0, wcount); @@ -100,9 +103,6 @@ public class OutputStreamWriter extends Writer private void writeChars(char[] buf, int offset, int count) throws IOException { - if (out == null) - throw new IOException("Stream closed"); - while (count > 0) { // We must flush if out.count == out.buf.length. @@ -127,6 +127,9 @@ public class OutputStreamWriter extends Writer { synchronized (lock) { + if (out == null) + throw new IOException("Stream closed"); + if (work == null) work = new char[100]; int wlength = work.length; @@ -155,6 +158,9 @@ public class OutputStreamWriter extends Writer { synchronized (lock) { + if (out == null) + throw new IOException("Stream closed"); + if (work == null) work = new char[100]; if (wcount >= work.length) -- cgit v1.2.1