diff options
-rw-r--r-- | libjava/ChangeLog | 5 | ||||
-rw-r--r-- | libjava/java/io/natFileDescriptorWin32.cc | 7 |
2 files changed, 12 insertions, 0 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 2cbcf4e..b229277 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,8 @@ +2002-04-29 Adam King <aking@dreammechanics.com> + + * java/io/natFileDescriptorWin32.cc (open): Move file pointer to end + of file in APPEND mode. + 2002-04-25 David S. Miller <davem@redhat.com> PR target/6422 diff --git a/libjava/java/io/natFileDescriptorWin32.cc b/libjava/java/io/natFileDescriptorWin32.cc index 694272a..bc9cbc8 100644 --- a/libjava/java/io/natFileDescriptorWin32.cc +++ b/libjava/java/io/natFileDescriptorWin32.cc @@ -124,6 +124,13 @@ java::io::FileDescriptor::open (jstring path, jint jflags) { throw new FileNotFoundException (JvNewStringLatin1 (msg)); } + // For APPEND mode, move the file pointer to the end of the file. + if (jflags & APPEND) + { + DWORD low = SetFilePointer (handle, 0, NULL, FILE_END); + if ((low == 0xffffffff) && (GetLastError () != NO_ERROR)) + throw new FileNotFoundException (JvNewStringLatin1 (winerr ())); + } return (jint)handle; } |