summaryrefslogtreecommitdiff
path: root/pr/src/io
diff options
context:
space:
mode:
authorwtchang%redhat.com <devnull@localhost>2006-06-11 02:52:29 +0000
committerwtchang%redhat.com <devnull@localhost>2006-06-11 02:52:29 +0000
commit77714fb7662ee16959279da5b43f36b9fdf204f5 (patch)
tree3e8bcf57ee1c6f8719bc7905f75166d4bb721ada /pr/src/io
parent1875eecbd99718fee21f0ceb513b429d9322cd39 (diff)
downloadnspr-hg-77714fb7662ee16959279da5b43f36b9fdf204f5.tar.gz
Bugzilla Bug 340956: when emulating PR_APPEND, we should use PR_Seek64
instead of PR_Seek, otherwise it won't work on large files. The patch is contributed by Nils Maier <MaierMan@web.de> and Masatoshi Kimura (:emk) <VYV03354@nifty.ne.jp>. r=wtc. Thanks to Nils Maier for tracking down the bug.
Diffstat (limited to 'pr/src/io')
-rw-r--r--pr/src/io/prfile.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/pr/src/io/prfile.c b/pr/src/io/prfile.c
index 5b4c0742..545fa712 100644
--- a/pr/src/io/prfile.c
+++ b/pr/src/io/prfile.c
@@ -99,10 +99,9 @@ static PRInt32 PR_CALLBACK FileWrite(PRFileDesc *fd, const void *buf, PRInt32 am
count = 0;
#if !defined(_PR_HAVE_O_APPEND) /* Bugzilla: 4090, 276330 */
- if ( PR_TRUE == fd->secret->appendMode ) {
- rv = PR_Seek(fd, 0, PR_SEEK_END );
- if ( -1 == rv ) {
- return rv;
+ if (fd->secret->appendMode) {
+ if (PR_Seek64(fd, 0, PR_SEEK_END) == -1) {
+ return -1;
}
} /* if (fd->secret->appendMode...) */
#endif /* _PR_HAVE_O_APPEND */