diff options
Diffstat (limited to 'libjava/java/io/natFileDescriptorWin32.cc')
-rw-r--r-- | libjava/java/io/natFileDescriptorWin32.cc | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/libjava/java/io/natFileDescriptorWin32.cc b/libjava/java/io/natFileDescriptorWin32.cc index 7c2bbb1b504..286598fb1a2 100644 --- a/libjava/java/io/natFileDescriptorWin32.cc +++ b/libjava/java/io/natFileDescriptorWin32.cc @@ -32,6 +32,14 @@ details. */ #include <java/lang/Thread.h> #include <java/io/FileNotFoundException.h> +void +java::io::FileDescriptor::init(void) +{ + in = new java::io::FileDescriptor((jint)(GetStdHandle (STD_INPUT_HANDLE))); + out = new java::io::FileDescriptor((jint)(GetStdHandle (STD_OUTPUT_HANDLE))); + err = new java::io::FileDescriptor((jint)(GetStdHandle (STD_ERROR_HANDLE))); +} + static char * winerr (void) { @@ -244,6 +252,7 @@ java::io::FileDescriptor::read(jbyteArray buffer, jint offset, jint count) if (! ReadFile((HANDLE)fd, bytes, count, &read, NULL)) throw new IOException (JvNewStringLatin1 (winerr ())); + if (read == 0) return -1; return (jint)read; } |