From 78b776d8b8f53bb23f4ab37b92d804ba23411bfb Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Mon, 16 Sep 2024 15:32:17 -0700 Subject: [PATCH] =?utf8?q?fflush:=20NetBSD,=20OpenBSD=20can=E2=80=99t=20ff?= =?utf8?q?lush=20input?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Guess no on NetBSD and OpenBSD; they document fflush to fail unless the stream is open for writing. --- ChangeLog | 7 +++++++ doc/posix-functions/fflush.texi | 3 +++ m4/fflush.m4 | 11 ++++++----- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index b2f3e3ffb6..d65e8cb88d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2024-09-16 Paul Eggert + + fflush: NetBSD, OpenBSD can’t fflush input + * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Guess no on NetBSD and + OpenBSD; they document fflush to fail unless the stream is open + for writing. + 2024-09-16 Bruno Haible unictype/category-of: Fix integer overflow in generated table. diff --git a/doc/posix-functions/fflush.texi b/doc/posix-functions/fflush.texi index 0f6b700172..39f8ae9739 100644 --- a/doc/posix-functions/fflush.texi +++ b/doc/posix-functions/fflush.texi @@ -20,6 +20,9 @@ end of the previous buffer, on some platforms: mingw, MSVC 14. @code{fflush} on an input stream right after @code{ungetc} does not discard the @code{ungetc} buffer, on some platforms: macOS 14, FreeBSD 6.0, NetBSD 10.0, OpenBSD 7.5, Cygwin 1.5.25-10. +@item +@code{fflush} fails with @code{EBADF} if the stream is not open for writing: +NetBSD 10.0, OpenBSD 7.5. @end itemize Portability problems not fixed by Gnulib: diff --git a/m4/fflush.m4 b/m4/fflush.m4 index 43fc3bf346..1b30fb91d4 100644 --- a/m4/fflush.m4 +++ b/m4/fflush.m4 @@ -1,5 +1,5 @@ # fflush.m4 -# serial 19 +# serial 20 dnl Copyright (C) 2007-2024 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -79,8 +79,9 @@ AC_DEFUN([gl_FUNC_FFLUSH_STDIN], [gl_cv_func_fflush_stdin=yes], [gl_cv_func_fflush_stdin=no], [case "$host_os" in - # Guess no on native Windows. - mingw* | windows*) gl_cv_func_fflush_stdin="guessing no" ;; + # Guess no on NetBSD, OpenBSD, native Windows. + netbsd* | openbsd* | mingw* | windows*) + gl_cv_func_fflush_stdin="guessing no" ;; *) gl_cv_func_fflush_stdin=cross ;; esac ]) @@ -92,8 +93,8 @@ AC_DEFUN([gl_FUNC_FFLUSH_STDIN], *) gl_func_fflush_stdin='(-1)' ;; esac AC_DEFINE_UNQUOTED([FUNC_FFLUSH_STDIN], [$gl_func_fflush_stdin], - [Define to 1 if fflush is known to work on stdin as per POSIX.1-2008, - 0 if fflush is known to not work, -1 if unknown.]) + [Define to 1 if fflush is known to work on stdin as per POSIX.1-2008 + or later, 0 if fflush is known to not work, -1 if unknown.]) ]) # Prerequisites of lib/fflush.c. -- 2.39.5