diff options
author | Eric Blake <eblake@redhat.com> | 2011-08-09 15:50:12 -0600 |
---|---|---|
committer | Eric Blake <eblake@redhat.com> | 2011-08-09 15:50:12 -0600 |
commit | 7d7ec7650cd840f005ddd6dd886dd1036802fd63 (patch) | |
tree | 910f2742370dc6b3c2d549f1541456960db6c78e /lib/fseeko.c | |
parent | a769adbf87bdfe54b94da0a285fa9b8db45d5aa5 (diff) | |
download | gnulib-7d7ec7650cd840f005ddd6dd886dd1036802fd63.tar.gz |
fseeko: remove unneeded hack
Now that the fixed fseeko doesn't fail, we can remove the hack
that was previously making the testsuite pass.
* tests/test-fflush2.c (main): Don't special-case SEEK_END.
Signed-off-by: Eric Blake <eblake@redhat.com>
Diffstat (limited to 'lib/fseeko.c')
-rw-r--r-- | lib/fseeko.c | 17 |
1 files changed, 5 insertions, 12 deletions
diff --git a/lib/fseeko.c b/lib/fseeko.c index 80ca1e0013..83834a0475 100644 --- a/lib/fseeko.c +++ b/lib/fseeko.c @@ -93,14 +93,10 @@ fseeko (FILE *fp, off_t offset, int whence) #error "Please port gnulib fseeko.c to your platform! Look at the code in fpurge.c, then report this to bug-gnulib." #endif { - /* We get here when an fflush() call immediately preceded this one. We - know there are no buffers. - POSIX requires us to modify the file descriptor's position. - But we cannot position beyond end of file here. */ - off_t pos = - lseek (fileno (fp), - whence == SEEK_END && offset > 0 ? 0 : offset, - whence); + /* We get here when an fflush() call immediately preceded this one (or + if ftell() has created buffers but no I/O has occurred on a + newly-opened stream). We know there are no buffers. */ + off_t pos = lseek (fileno (fp), offset, whence); if (pos == -1) { #if defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin */ @@ -141,10 +137,7 @@ fseeko (FILE *fp, off_t offset, int whence) fp->__offset = pos; fp->__eof = 0; #endif - /* If we were not requested to position beyond end of file, we're - done. */ - if (!(whence == SEEK_END && offset > 0)) - return 0; + return 0; } return fseeko (fp, offset, whence); } |