summaryrefslogtreecommitdiff
path: root/libjava/java/io/OutputStreamWriter.java
diff options
context:
space:
mode:
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2001-02-20 19:01:55 +0000
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2001-02-20 19:01:55 +0000
commit4f1309c14c8c1e2f3ad29895624e7ff1802956cc (patch)
treebea0be04a6a6d1d16e61e97edbf76650ad68223a /libjava/java/io/OutputStreamWriter.java
parentfb9fa837090060b6fd541b91d36b8071fe458330 (diff)
downloadgcc-4f1309c14c8c1e2f3ad29895624e7ff1802956cc.tar.gz
* 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
Diffstat (limited to 'libjava/java/io/OutputStreamWriter.java')
-rw-r--r--libjava/java/io/OutputStreamWriter.java12
1 files changed, 9 insertions, 3 deletions
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)