3 dnl Copyright (C) 2011-2024 Free Software Foundation, Inc.
4 dnl This file is free software; the Free Software Foundation
5 dnl gives unlimited permission to copy and/or distribute it,
6 dnl with or without modifications, as long as this notice is preserved.
8 AC_DEFUN([gl_FUNC_FDOPEN],
10 AC_REQUIRE([gl_STDIO_H_DEFAULTS])
11 AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
12 m4_ifdef([gl_MSVC_INVAL], [
13 AC_REQUIRE([gl_MSVC_INVAL])
14 if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
18 if test $REPLACE_FDOPEN = 0; then
19 dnl Test whether fdopen() sets errno when it fails due to a bad fd argument.
20 AC_CACHE_CHECK([whether fdopen sets errno], [gl_cv_func_fdopen_works],
32 fp = fdopen (-1, "r");
33 if (fp == NULL && errno == 0)
37 [gl_cv_func_fdopen_works=yes],
38 [gl_cv_func_fdopen_works=no],
40 mingw* | windows*) gl_cv_func_fdopen_works="guessing no" ;;
41 *) gl_cv_func_fdopen_works="guessing yes" ;;
45 case "$gl_cv_func_fdopen_works" in
46 *no) REPLACE_FDOPEN=1 ;;
51 dnl Prerequisites of lib/fdopen.c.
52 AC_DEFUN([gl_PREREQ_FDOPEN], [])