summaryrefslogtreecommitdiff
path: root/lib/fseeko.c
diff options
context:
space:
mode:
authorEric Blake <eblake@redhat.com>2011-08-09 15:50:12 -0600
committerEric Blake <eblake@redhat.com>2011-08-09 15:50:12 -0600
commit7d7ec7650cd840f005ddd6dd886dd1036802fd63 (patch)
tree910f2742370dc6b3c2d549f1541456960db6c78e /lib/fseeko.c
parenta769adbf87bdfe54b94da0a285fa9b8db45d5aa5 (diff)
downloadgnulib-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.c17
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);
}