maint: update copyright
[gnulib.git] / m4 / fopen.m4
1 # fopen.m4 serial 9
2 dnl Copyright (C) 2007-2014 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.
6
7 AC_DEFUN([gl_FUNC_FOPEN],
8 [
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 ()
29 {
30   return fopen ("conftest.sl/", "w") != NULL;
31 }]])],
32             [gl_cv_func_fopen_slash=yes],
33             [gl_cv_func_fopen_slash=no],
34             [
35 changequote(,)dnl
36              case "$host_os" in
37                aix* | hpux* | solaris2.[0-9] | solaris2.[0-9].*)
38                  gl_cv_func_fopen_slash="guessing no" ;;
39                *)
40                  gl_cv_func_fopen_slash="guessing yes" ;;
41              esac
42 changequote([,])dnl
43             ])
44           rm -f conftest.sl
45         ])
46       ;;
47   esac
48   case "$gl_cv_func_fopen_slash" in
49     *no)
50       AC_DEFINE([FOPEN_TRAILING_SLASH_BUG], [1],
51         [Define to 1 if fopen() fails to recognize a trailing slash.])
52       REPLACE_FOPEN=1
53       ;;
54   esac
55 ])
56
57 # Prerequisites of lib/fopen.c.
58 AC_DEFUN([gl_PREREQ_FOPEN], [:])