Commit
1074f45959f had a bug on glibc that caused the unit test to
fail, but instead of figuring why the failure was happening, we
instead added a partial hack to avoid the problem in the scenario
covered by the testsuite.
https://lists.gnu.org/archive/html/bug-gnulib/2009-01/msg00171.html
But that hack doesn't cover all scenarios, and papers over the
real issue: if you fopen()/ftell()/fseek(,0,SEEK_END)/ftell(),
then the stream should be positioned at the same place as the
underlying fd, even though no I/O occurred, and without requiring
an fflush() in the middle.
* lib/fseeko.c (fseeko): Set stream offset to match fd offset.
Reported by John W. Eaton.
Signed-off-by: Eric Blake <eblake@redhat.com>
+2011-08-09 Eric Blake <eblake@redhat.com>
+
+ fseeko: fix bug on glibc
+ * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
+ Reported by John W. Eaton.
+
2011-08-08 Bruno Haible <bruno@clisp.org>
unictype/base: Fix interoperability with preinstalled libunistring.
#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
fp->_flags &= ~_IO_EOF_SEEN;
+ fp->_offset = pos;
#elif defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin */
# if defined __CYGWIN__
/* fp_->_offset is typed as an integer. */