diff options
author | Bruno Haible <bruno@clisp.org> | 2021-03-21 03:46:05 +0100 |
---|---|---|
committer | Bruno Haible <bruno@clisp.org> | 2021-03-21 03:46:05 +0100 |
commit | a646e362fce5952d55073792799cdc8fa29ab253 (patch) | |
tree | f9a4b74f458850f4ae06cd003e0ef683d136ae6d /doc/posix-functions | |
parent | cfe9452d1dd3cf16e6c518b970bcdca70e8c872c (diff) | |
download | gnulib-a646e362fce5952d55073792799cdc8fa29ab253.tar.gz |
ftello: Work around bug in macOS >= 10.15.
Reported by Martin Storsjö <martin@martin.st> in
<https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00002.html>.
* m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): On macOS, don't define
FUNC_UNGETC_BROKEN. Instead, set gl_ftello_broken_after_ungetc to yes.
* m4/ftello.m4 (gl_FUNC_FTELLO): Invoke gl_FUNC_UNGETC_WORKS, and
arrange to provide the workaround if ftello is broken after ungetc.
* lib/ftello.c: Include <errno.h>, intprops.h.
(ftello) [FTELLO_BROKEN_AFTER_UNGETC]: Implement from scratch.
* modules/ftello (Files): Add m4/ungetc.m4.
(Depends-on): Add intprops.
* doc/posix-functions/ftello.texi: Mention the macOS bug.
Diffstat (limited to 'doc/posix-functions')
-rw-r--r-- | doc/posix-functions/ftello.texi | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/doc/posix-functions/ftello.texi b/doc/posix-functions/ftello.texi index 2561c5d65e..eab591fca0 100644 --- a/doc/posix-functions/ftello.texi +++ b/doc/posix-functions/ftello.texi @@ -20,6 +20,11 @@ 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 fails on seekable stdin, stdout, and stderr: cygwin <= 1.5.24. @item On platforms where @code{off_t} is a 32-bit type, @code{ftello} does not work |