aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/io/PipedOutputStream.java
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/java/io/PipedOutputStream.java')
-rw-r--r--libjava/java/io/PipedOutputStream.java17
1 files changed, 10 insertions, 7 deletions
diff --git a/libjava/java/io/PipedOutputStream.java b/libjava/java/io/PipedOutputStream.java
index 221091f..f620aba 100644
--- a/libjava/java/io/PipedOutputStream.java
+++ b/libjava/java/io/PipedOutputStream.java
@@ -1,6 +1,6 @@
// PipedOutputStream.java - Write bytes to a pipe.
-/* Copyright (C) 1998, 1999 Red Hat, Inc.
+/* Copyright (C) 1998, 1999, 2000 Red Hat, Inc.
This file is part of libgcj.
@@ -81,12 +81,15 @@ public class PipedOutputStream extends OutputStream
destination.receive(oneByte);
}
- // This is mentioned in the JCL book, but we don't really need it.
- // If there were a corresponding receive() method on
- // PipedInputStream then we could get better performance using
- // this.
- // public void write (byte[] buffer, int offset, int count)
- // throws IOException;
+ public void write (byte[] buffer, int offset, int count) throws IOException
+ {
+ if (closed)
+ throw new IOException ();
+ if (offset < 0 || count < 0 || offset + count > buffer.length)
+ throw new ArrayIndexOutOfBoundsException ();
+ for (int i = 0; i < count; ++i)
+ destination.receive (buffer[offset + i]);
+ }
// Instance variables.
private PipedInputStream destination;