+2024-11-26 Bruno Haible <bruno@clisp.org>
+
+ fpurge: Improve configure test.
+ Reported by Eli Schwartz <eschwartz@gentoo.org>.
+ * m4/fpurge.m4 (gl_FUNC_FPURGE): If fpurge is not declared, don't test
+ whether it works.
+
2024-11-25 Simon Josefsson <simon@josefsson.org>
bootstrap: avoid sc_prohibit_undesirable_word_seq failure
doc: Add missing module index.
Reported by Bruno Haible <bruno@clisp.org> in
<https://lists.gnu.org/archive/html/bug-gnulib/2024-11/msg00193.html>.
- * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p): Add module index.
+ * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p): Add module
+ index.
2024-11-24 Bruno Haible <bruno@clisp.org>
# fpurge.m4
-# serial 14
+# serial 15
dnl Copyright (C) 2007, 2009-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,
AC_CHECK_FUNCS_ONCE([fpurge])
gl_CHECK_FUNCS_ANDROID([__fpurge], [[#include <stdio_ext.h>]])
AC_CHECK_DECLS([fpurge], , , [[#include <stdio.h>]])
- if test "x$ac_cv_func_fpurge" = xyes; then
+ if test $ac_cv_func_fpurge = yes; then
HAVE_FPURGE=1
# Detect BSD bug. Only cygwin 1.7 and musl are known to be immune.
AC_CACHE_CHECK([whether fpurge works], [gl_cv_func_fpurge_works],
- [AC_RUN_IFELSE(
- [AC_LANG_PROGRAM(
- [[#include <stdio.h>
-]],
- [[FILE *f = fopen ("conftest.txt", "w+");
- if (!f)
- return 1;
- if (fputc ('a', f) != 'a')
- { fclose (f); return 2; }
- rewind (f);
- if (fgetc (f) != 'a')
- { fclose (f); return 3; }
- if (fgetc (f) != EOF)
- { fclose (f); return 4; }
- if (fpurge (f) != 0)
- { fclose (f); return 5; }
- if (putc ('b', f) != 'b')
- { fclose (f); return 6; }
- if (fclose (f) != 0)
- return 7;
- if ((f = fopen ("conftest.txt", "r")) == NULL)
- return 8;
- if (fgetc (f) != 'a')
- { fclose (f); return 9; }
- if (fgetc (f) != 'b')
- { fclose (f); return 10; }
- if (fgetc (f) != EOF)
- { fclose (f); return 11; }
- if (fclose (f) != 0)
- return 12;
- if (remove ("conftest.txt") != 0)
- return 13;
- return 0;
- ]])],
- [gl_cv_func_fpurge_works=yes],
- [gl_cv_func_fpurge_works=no],
- [case "$host_os" in
- # Guess yes on musl systems.
- *-musl* | midipix*) gl_cv_func_fpurge_works="guessing yes" ;;
- # Otherwise obey --enable-cross-guesses.
- *) gl_cv_func_fpurge_works="$gl_cross_guess_normal" ;;
- esac
- ])
+ [if test $ac_cv_have_decl_fpurge = yes; then
+ AC_RUN_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <stdio.h>
+ ]],
+ [[FILE *f = fopen ("conftest.txt", "w+");
+ if (!f)
+ return 1;
+ if (fputc ('a', f) != 'a')
+ { fclose (f); return 2; }
+ rewind (f);
+ if (fgetc (f) != 'a')
+ { fclose (f); return 3; }
+ if (fgetc (f) != EOF)
+ { fclose (f); return 4; }
+ if (fpurge (f) != 0)
+ { fclose (f); return 5; }
+ if (putc ('b', f) != 'b')
+ { fclose (f); return 6; }
+ if (fclose (f) != 0)
+ return 7;
+ if ((f = fopen ("conftest.txt", "r")) == NULL)
+ return 8;
+ if (fgetc (f) != 'a')
+ { fclose (f); return 9; }
+ if (fgetc (f) != 'b')
+ { fclose (f); return 10; }
+ if (fgetc (f) != EOF)
+ { fclose (f); return 11; }
+ if (fclose (f) != 0)
+ return 12;
+ if (remove ("conftest.txt") != 0)
+ return 13;
+ return 0;
+ ]])],
+ [gl_cv_func_fpurge_works=yes],
+ [gl_cv_func_fpurge_works=no],
+ [case "$host_os" in
+ # Guess yes on musl systems.
+ *-musl* | midipix*) gl_cv_func_fpurge_works="guessing yes" ;;
+ # Otherwise obey --enable-cross-guesses.
+ *) gl_cv_func_fpurge_works="$gl_cross_guess_normal" ;;
+ esac
+ ])
+ else
+ gl_cv_func_fpurge_works=no
+ fi
])
case "$gl_cv_func_fpurge_works" in
*yes) ;;