diff options
author | Bruno Haible <bruno@clisp.org> | 2019-09-15 17:41:29 +0200 |
---|---|---|
committer | Bruno Haible <bruno@clisp.org> | 2019-09-15 17:41:29 +0200 |
commit | c5f7c7c69b3b986c49930c1c7ac37c552a3be738 (patch) | |
tree | 154ad65d2faf2341dae38d9004ae457327cc4f32 /m4/open.m4 | |
parent | 9e75623a64a07215f2c7811e0356697d6df10fa2 (diff) | |
download | gnulib-c5f7c7c69b3b986c49930c1c7ac37c552a3be738.tar.gz |
creat: New module.
* lib/fcntl.in.h (creat): New declaration.
* lib/creat.c: New file, based on lib/open.c.
* m4/creat.m4: New file.
* m4/open-slash.m4: New file, extracted from m4/open.m4.
* m4/open.m4 (gl_FUNC_OPEN): Move trailing-slash test to open-slash.m4.
Invoke gl_OPEN_TRAILING_SLASH_BUG.
* modules/open (Files): Add m4/open-slash.m4.
* m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_CREAT,
REPLACE_CREAT.
* modules/fcntl-h (Makefile.am): Substitute GNULIB_CREAT, REPLACE_CREAT.
* modules/creat: New file.
* tests/test-fcntl-h-c++.cc (creat): Check signature.
* doc/posix-functions/creat.texi: Mention the new module.
Diffstat (limited to 'm4/open.m4')
-rw-r--r-- | m4/open.m4 | 41 |
1 files changed, 1 insertions, 40 deletions
diff --git a/m4/open.m4 b/m4/open.m4 index 5d73f4de1a..6cf0bebb17 100644 --- a/m4/open.m4 +++ b/m4/open.m4 @@ -19,48 +19,9 @@ AC_DEFUN([gl_FUNC_OPEN], if test "$gl_cv_macro_O_CLOEXEC" != yes; then REPLACE_OPEN=1 fi - AC_CACHE_CHECK([whether open recognizes a trailing slash], - [gl_cv_func_open_slash], - [# Assume that if we have lstat, we can also check symlinks. - if test $ac_cv_func_lstat = yes; then - touch conftest.tmp - ln -s conftest.tmp conftest.lnk - fi - AC_RUN_IFELSE( - [AC_LANG_SOURCE([[ -#include <fcntl.h> -#if HAVE_UNISTD_H -# include <unistd.h> -#endif -int main () -{ - int result = 0; -#if HAVE_LSTAT - if (open ("conftest.lnk/", O_RDONLY) != -1) - result |= 1; -#endif - if (open ("conftest.sl/", O_CREAT, 0600) >= 0) - result |= 2; - return result; -}]])], - [gl_cv_func_open_slash=yes], - [gl_cv_func_open_slash=no], - [ -changequote(,)dnl - case "$host_os" in - freebsd* | aix* | hpux* | solaris2.[0-9] | solaris2.[0-9].*) - gl_cv_func_open_slash="guessing no" ;; - *) - gl_cv_func_open_slash="guessing yes" ;; - esac -changequote([,])dnl - ]) - rm -f conftest.sl conftest.tmp conftest.lnk - ]) + gl_OPEN_TRAILING_SLASH_BUG case "$gl_cv_func_open_slash" in *no) - AC_DEFINE([OPEN_TRAILING_SLASH_BUG], [1], - [Define to 1 if open() fails to recognize a trailing slash.]) REPLACE_OPEN=1 ;; esac |