diff options
author | wtchang%redhat.com <devnull@localhost> | 2006-06-11 02:52:29 +0000 |
---|---|---|
committer | wtchang%redhat.com <devnull@localhost> | 2006-06-11 02:52:29 +0000 |
commit | 77714fb7662ee16959279da5b43f36b9fdf204f5 (patch) | |
tree | 3e8bcf57ee1c6f8719bc7905f75166d4bb721ada /pr/src/io | |
parent | 1875eecbd99718fee21f0ceb513b429d9322cd39 (diff) | |
download | nspr-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.c | 7 |
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 */ |