strtod-obsolete: Fix license.
[gnulib/ericb.git] / m4 / fopen.m4
blob3772e5066a7ba170772596afede1a85170e34706
1 # fopen.m4 serial 10
2 dnl Copyright (C) 2007-2017 Free Software Foundation, Inc.
3 dnl This file is free software; the Free Software Foundation
4 dnl gives unlimited permission to copy and/or distribute it,
5 dnl with or without modifications, as long as this notice is preserved.
7 AC_DEFUN([gl_FUNC_FOPEN],
9   AC_REQUIRE([gl_STDIO_H_DEFAULTS])
10   AC_REQUIRE([AC_CANONICAL_HOST])
11   case "$host_os" in
12     mingw* | pw*)
13       dnl Replace fopen, for handling of "/dev/null".
14       REPLACE_FOPEN=1
15       dnl fopen on mingw also has the trailing slash bug.
16       gl_cv_func_fopen_slash="guessing no"
17       ;;
18     *)
19       dnl fopen("foo/", "w") should not create a file when the file name has a
20       dnl trailing slash.
21       AC_CACHE_CHECK([whether fopen recognizes a trailing slash],
22         [gl_cv_func_fopen_slash],
23         [
24           AC_RUN_IFELSE(
25             [AC_LANG_SOURCE([[
26 #include <stddef.h>
27 #include <stdio.h>
28 int main ()
30   FILE *fp = fopen ("conftest.sl/", "w");
31   int result = (fp != NULL);
32   if (fp != NULL)
33     fclose (fp);
34   return result;
35 }]])],
36             [gl_cv_func_fopen_slash=yes],
37             [gl_cv_func_fopen_slash=no],
38             [
39 changequote(,)dnl
40              case "$host_os" in
41                aix* | hpux* | solaris2.[0-9] | solaris2.[0-9].*)
42                  gl_cv_func_fopen_slash="guessing no" ;;
43                *)
44                  gl_cv_func_fopen_slash="guessing yes" ;;
45              esac
46 changequote([,])dnl
47             ])
48           rm -f conftest.sl
49         ])
50       ;;
51   esac
52   case "$gl_cv_func_fopen_slash" in
53     *no)
54       AC_DEFINE([FOPEN_TRAILING_SLASH_BUG], [1],
55         [Define to 1 if fopen() fails to recognize a trailing slash.])
56       REPLACE_FOPEN=1
57       ;;
58   esac
61 # Prerequisites of lib/fopen.c.
62 AC_DEFUN([gl_PREREQ_FOPEN], [:])