Hash :
c254399a
Author :
Date :
2023-04-24T19:48:47
ftell, ftello: Fix recognition of pipes on native Windows. * m4/lseek.m4 (gl_FUNC_LSEEK): Update comment. * m4/ftello.m4 (gl_FUNC_FTELLO): On native Windows, set REPLACE_FTELLO=1 always. * doc/posix-functions/ftello.texi: Mention the behaviour on pipes. * doc/posix-functions/ftell.texi: Likewise. * doc/posix-functions/fgetpos.texi: Likewise.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
@node ftell
@section @code{ftell}
@findex ftell
POSIX specification:@* @url{https://pubs.opengroup.org/onlinepubs/9699919799/functions/ftell.html}
Gnulib module: ftell
Portability problems fixed by Gnulib:
@itemize
@item
This function mistakenly succeeds on pipes on some platforms:
mingw, MSVC 14.
@item
This function produces incorrect results after @code{putc} that followed a
@code{getc} call that reached EOF on some platforms:
Solaris 11 2010-11.
@item
This function, when invoked after @code{ungetc}, throws away the @code{ungetc}
buffer, changes the stream's file position, and returns the wrong position on
some platforms:
macOS 10.15 and newer.
@item
This function mistakenly succeeds on pipes on some platforms:
mingw 10.
@end itemize
Portability problems not fixed by Gnulib:
@itemize
@item
This function produces incorrect results immediately after @code{fseek} on some
platforms:
HP-UX 11.
@item
@code{fflush}, @code{ftell}, @code{ftello}, @code{fgetpos} behave incorrectly
on input streams that are opened in @code{O_TEXT} mode and whose contents
contains Unix line terminators (LF), on some platforms: mingw, MSVC 14.
@item
On platforms where @code{long} is a 32-bit type, @code{ftell} does not work
correctly with files 2 GiB and larger, even when the @code{AC_SYS_LARGEFILE}
macro is used. The fix is to use @code{ftello} instead.
@end itemize