Home | History | Annotate | Download | only in m4
      1 # fopen.m4 serial 9
      2 dnl Copyright (C) 2007-2012 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], [:])
     59