@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