many *.m4 files: improve m4 quoting
[gnulib.git] / m4 / fopen.m4
1 # fopen.m4 serial 4
2 dnl Copyright (C) 2007-2009 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       REPLACE_FOPEN=1
14       AC_LIBOBJ([fopen])
15       ;;
16     *)
17       dnl fopen("foo/", "w") should not create a file when the file name has a
18       dnl trailing slash.
19       AC_CACHE_CHECK([whether fopen recognizes a trailing slash],
20         [gl_cv_func_fopen_slash],
21         [
22           AC_TRY_RUN([
23 #include <stddef.h>
24 #include <stdio.h>
25 int main ()
26 {
27   return fopen ("conftest.sl/", "w") != NULL;
28 }], [gl_cv_func_fopen_slash=yes], [gl_cv_func_fopen_slash=no],
29             [
30 changequote(,)dnl
31              case "$host_os" in
32                solaris2.[0-9]*) gl_cv_func_fopen_slash="guessing no" ;;
33                hpux*)           gl_cv_func_fopen_slash="guessing no" ;;
34                *)               gl_cv_func_fopen_slash="guessing yes" ;;
35              esac
36 changequote([,])dnl
37             ])
38           rm -f conftest.sl
39         ])
40       case "$gl_cv_func_fopen_slash" in
41         *no)
42           AC_DEFINE([FOPEN_TRAILING_SLASH_BUG], [1],
43             [Define to 1 if fopen() fails to recognize a trailing slash.])
44           REPLACE_FOPEN=1
45           AC_LIBOBJ([fopen])
46           gl_PREREQ_FOPEN
47           ;;
48       esac
49       ;;
50   esac
51 ])
52
53 # Prerequisites of lib/fopen.c.
54 AC_DEFUN([gl_PREREQ_FOPEN],
55 [
56   AC_REQUIRE([AC_C_INLINE])
57 ])