|
Packit |
33f14e |
# fdopen.m4 serial 4
|
|
Packit |
33f14e |
dnl Copyright (C) 2011-2017 Free Software Foundation, Inc.
|
|
Packit |
33f14e |
dnl This file is free software; the Free Software Foundation
|
|
Packit |
33f14e |
dnl gives unlimited permission to copy and/or distribute it,
|
|
Packit |
33f14e |
dnl with or without modifications, as long as this notice is preserved.
|
|
Packit |
33f14e |
|
|
Packit |
33f14e |
AC_DEFUN([gl_FUNC_FDOPEN],
|
|
Packit |
33f14e |
[
|
|
Packit |
33f14e |
AC_REQUIRE([gl_STDIO_H_DEFAULTS])
|
|
Packit |
33f14e |
AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
|
|
Packit |
33f14e |
m4_ifdef([gl_MSVC_INVAL], [
|
|
Packit |
33f14e |
AC_REQUIRE([gl_MSVC_INVAL])
|
|
Packit |
33f14e |
if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
|
|
Packit |
33f14e |
REPLACE_FDOPEN=1
|
|
Packit |
33f14e |
fi
|
|
Packit |
33f14e |
])
|
|
Packit |
33f14e |
if test $REPLACE_FDOPEN = 0; then
|
|
Packit |
33f14e |
dnl Test whether fdopen() sets errno when it fails due to a bad fd argument.
|
|
Packit |
33f14e |
AC_CACHE_CHECK([whether fdopen sets errno], [gl_cv_func_fdopen_works],
|
|
Packit |
33f14e |
[
|
|
Packit |
33f14e |
AC_RUN_IFELSE(
|
|
Packit |
33f14e |
[AC_LANG_SOURCE([[
|
|
Packit |
33f14e |
#include <stdio.h>
|
|
Packit |
33f14e |
#include <errno.h>
|
|
Packit |
33f14e |
int
|
|
Packit |
33f14e |
main (void)
|
|
Packit |
33f14e |
{
|
|
Packit |
33f14e |
FILE *fp;
|
|
Packit |
33f14e |
errno = 0;
|
|
Packit |
33f14e |
fp = fdopen (-1, "r");
|
|
Packit |
33f14e |
if (fp == NULL && errno == 0)
|
|
Packit |
33f14e |
return 1;
|
|
Packit |
33f14e |
return 0;
|
|
Packit |
33f14e |
}]])],
|
|
Packit |
33f14e |
[gl_cv_func_fdopen_works=yes],
|
|
Packit |
33f14e |
[gl_cv_func_fdopen_works=no],
|
|
Packit |
33f14e |
[case "$host_os" in
|
|
Packit |
33f14e |
mingw*) gl_cv_func_fdopen_works="guessing no" ;;
|
|
Packit |
33f14e |
*) gl_cv_func_fdopen_works="guessing yes" ;;
|
|
Packit |
33f14e |
esac
|
|
Packit |
33f14e |
])
|
|
Packit |
33f14e |
])
|
|
Packit |
33f14e |
case "$gl_cv_func_fdopen_works" in
|
|
Packit |
33f14e |
*no) REPLACE_FDOPEN=1 ;;
|
|
Packit |
33f14e |
esac
|
|
Packit |
33f14e |
fi
|
|
Packit |
33f14e |
])
|
|
Packit |
33f14e |
|
|
Packit |
33f14e |
dnl Prerequisites of lib/fdopen.c.
|
|
Packit |
33f14e |
AC_DEFUN([gl_PREREQ_FDOPEN], [])
|