summaryrefslogtreecommitdiff
path: root/gl
diff options
context:
space:
mode:
authorSimon Josefsson <simon@josefsson.org>2009-10-26 14:20:16 +0100
committerSimon Josefsson <simon@josefsson.org>2009-10-26 14:20:16 +0100
commit05f02b46b6195f35d5bf48f55da7e1a027128906 (patch)
treed2399a1812ea34459c18bb3692353400703e3218 /gl
parent481db8095acbde1d09df239918449d15fa66249e (diff)
downloadgnutls-05f02b46b6195f35d5bf48f55da7e1a027128906.tar.gz
Update gnulib files.
Diffstat (limited to 'gl')
-rw-r--r--gl/Makefile.am3
-rw-r--r--gl/m4/sys_stat_h.m451
-rw-r--r--gl/sys_stat.in.h176
3 files changed, 129 insertions, 101 deletions
diff --git a/gl/Makefile.am b/gl/Makefile.am
index e7e93d4114..a5c7eb5442 100644
--- a/gl/Makefile.am
+++ b/gl/Makefile.am
@@ -1021,6 +1021,7 @@ sys/stat.h: sys_stat.in.h
-e 's|@''GNULIB_MKFIFOAT''@|$(GNULIB_MKFIFOAT)|g' \
-e 's|@''GNULIB_MKNODAT''@|$(GNULIB_MKNODAT)|g' \
-e 's|@''GNULIB_STAT''@|$(GNULIB_STAT)|g' \
+ -e 's|@''GNULIB_UTIMENSAT''@|$(GNULIB_UTIMENSAT)|g' \
-e 's|@''HAVE_FCHMODAT''@|$(HAVE_FCHMODAT)|g' \
-e 's|@''HAVE_FSTATAT''@|$(HAVE_FSTATAT)|g' \
-e 's|@''HAVE_FUTIMENS''@|$(HAVE_FUTIMENS)|g' \
@@ -1029,12 +1030,14 @@ sys/stat.h: sys_stat.in.h
-e 's|@''HAVE_MKDIRAT''@|$(HAVE_MKDIRAT)|g' \
-e 's|@''HAVE_MKFIFOAT''@|$(HAVE_MKFIFOAT)|g' \
-e 's|@''HAVE_MKNODAT''@|$(HAVE_MKNODAT)|g' \
+ -e 's|@''HAVE_UTIMENSAT''@|$(HAVE_UTIMENSAT)|g' \
-e 's|@''REPLACE_FSTAT''@|$(REPLACE_FSTAT)|g' \
-e 's|@''REPLACE_FSTATAT''@|$(REPLACE_FSTATAT)|g' \
-e 's|@''REPLACE_FUTIMENS''@|$(REPLACE_FUTIMENS)|g' \
-e 's|@''REPLACE_LSTAT''@|$(REPLACE_LSTAT)|g' \
-e 's|@''REPLACE_MKDIR''@|$(REPLACE_MKDIR)|g' \
-e 's|@''REPLACE_STAT''@|$(REPLACE_STAT)|g' \
+ -e 's|@''REPLACE_UTIMENSAT''@|$(REPLACE_UTIMENSAT)|g' \
-e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \
< $(srcdir)/sys_stat.in.h; \
} > $@-t && \
diff --git a/gl/m4/sys_stat_h.m4 b/gl/m4/sys_stat_h.m4
index 600489075a..1edf54834c 100644
--- a/gl/m4/sys_stat_h.m4
+++ b/gl/m4/sys_stat_h.m4
@@ -1,4 +1,4 @@
-# sys_stat_h.m4 serial 18 -*- Autoconf -*-
+# sys_stat_h.m4 serial 19 -*- Autoconf -*-
dnl Copyright (C) 2006-2009 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@@ -39,28 +39,31 @@ AC_DEFUN([gl_SYS_STAT_MODULE_INDICATOR],
AC_DEFUN([gl_SYS_STAT_H_DEFAULTS],
[
AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) dnl for REPLACE_FCHDIR
- GNULIB_FCHMODAT=0; AC_SUBST([GNULIB_FCHMODAT])
- GNULIB_FSTATAT=0; AC_SUBST([GNULIB_FSTATAT])
- GNULIB_FUTIMENS=0; AC_SUBST([GNULIB_FUTIMENS])
- GNULIB_LCHMOD=0; AC_SUBST([GNULIB_LCHMOD])
- GNULIB_LSTAT=0; AC_SUBST([GNULIB_LSTAT])
- GNULIB_MKDIRAT=0; AC_SUBST([GNULIB_MKDIRAT])
- GNULIB_MKFIFOAT=0; AC_SUBST([GNULIB_MKFIFOAT])
- GNULIB_MKNODAT=0; AC_SUBST([GNULIB_MKNODAT])
- GNULIB_STAT=0; AC_SUBST([GNULIB_STAT])
+ GNULIB_FCHMODAT=0; AC_SUBST([GNULIB_FCHMODAT])
+ GNULIB_FSTATAT=0; AC_SUBST([GNULIB_FSTATAT])
+ GNULIB_FUTIMENS=0; AC_SUBST([GNULIB_FUTIMENS])
+ GNULIB_LCHMOD=0; AC_SUBST([GNULIB_LCHMOD])
+ GNULIB_LSTAT=0; AC_SUBST([GNULIB_LSTAT])
+ GNULIB_MKDIRAT=0; AC_SUBST([GNULIB_MKDIRAT])
+ GNULIB_MKFIFOAT=0; AC_SUBST([GNULIB_MKFIFOAT])
+ GNULIB_MKNODAT=0; AC_SUBST([GNULIB_MKNODAT])
+ GNULIB_STAT=0; AC_SUBST([GNULIB_STAT])
+ GNULIB_UTIMENSAT=0; AC_SUBST([GNULIB_UTIMENSAT])
dnl Assume proper GNU behavior unless another module says otherwise.
- HAVE_FCHMODAT=1; AC_SUBST([HAVE_FCHMODAT])
- HAVE_FSTATAT=1; AC_SUBST([HAVE_FSTATAT])
- HAVE_FUTIMENS=1; AC_SUBST([HAVE_FUTIMENS])
- HAVE_LCHMOD=1; AC_SUBST([HAVE_LCHMOD])
- HAVE_LSTAT=1; AC_SUBST([HAVE_LSTAT])
- HAVE_MKDIRAT=1; AC_SUBST([HAVE_MKDIRAT])
- HAVE_MKFIFOAT=1; AC_SUBST([HAVE_MKFIFOAT])
- HAVE_MKNODAT=1; AC_SUBST([HAVE_MKNODAT])
- REPLACE_FSTAT=0; AC_SUBST([REPLACE_FSTAT])
- REPLACE_FSTATAT=0; AC_SUBST([REPLACE_FSTATAT])
- REPLACE_FUTIMENS=0; AC_SUBST([REPLACE_FUTIMENS])
- REPLACE_LSTAT=0; AC_SUBST([REPLACE_LSTAT])
- REPLACE_MKDIR=0; AC_SUBST([REPLACE_MKDIR])
- REPLACE_STAT=0; AC_SUBST([REPLACE_STAT])
+ HAVE_FCHMODAT=1; AC_SUBST([HAVE_FCHMODAT])
+ HAVE_FSTATAT=1; AC_SUBST([HAVE_FSTATAT])
+ HAVE_FUTIMENS=1; AC_SUBST([HAVE_FUTIMENS])
+ HAVE_LCHMOD=1; AC_SUBST([HAVE_LCHMOD])
+ HAVE_LSTAT=1; AC_SUBST([HAVE_LSTAT])
+ HAVE_MKDIRAT=1; AC_SUBST([HAVE_MKDIRAT])
+ HAVE_MKFIFOAT=1; AC_SUBST([HAVE_MKFIFOAT])
+ HAVE_MKNODAT=1; AC_SUBST([HAVE_MKNODAT])
+ HAVE_UTIMENSAT=1; AC_SUBST([HAVE_UTIMENSAT])
+ REPLACE_FSTAT=0; AC_SUBST([REPLACE_FSTAT])
+ REPLACE_FSTATAT=0; AC_SUBST([REPLACE_FSTATAT])
+ REPLACE_FUTIMENS=0; AC_SUBST([REPLACE_FUTIMENS])
+ REPLACE_LSTAT=0; AC_SUBST([REPLACE_LSTAT])
+ REPLACE_MKDIR=0; AC_SUBST([REPLACE_MKDIR])
+ REPLACE_STAT=0; AC_SUBST([REPLACE_STAT])
+ REPLACE_UTIMENSAT=0; AC_SUBST([REPLACE_UTIMENSAT])
])
diff --git a/gl/sys_stat.in.h b/gl/sys_stat.in.h
index 492fbb69bd..875f0644de 100644
--- a/gl/sys_stat.in.h
+++ b/gl/sys_stat.in.h
@@ -293,41 +293,6 @@ extern "C" {
#endif
-#if @GNULIB_LSTAT@
-# if ! @HAVE_LSTAT@
-/* mingw does not support symlinks, therefore it does not have lstat. But
- without links, stat does just fine. */
-# define lstat stat
-# elif @REPLACE_LSTAT@
-# undef lstat
-# define lstat rpl_lstat
-extern int rpl_lstat (const char *name, struct stat *buf);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef lstat
-# define lstat(p,b) \
- (GL_LINK_WARNING ("lstat is unportable - " \
- "use gnulib module lstat for portability"), \
- lstat (p, b))
-#endif
-
-#if @GNULIB_STAT@
-# if @REPLACE_STAT@
-/* We can't use the object-like #define stat rpl_stat, because of
- struct stat. This means that rpl_stat will not be used if the user
- does (stat)(a,b). Oh well. */
-# undef stat
-# define stat(name, st) rpl_stat (name, st)
-extern int stat (const char *name, struct stat *buf);
-# endif
-#elif defined GNULIB_POSIXCHECK
-# undef stat
-# define stat(p,b) \
- (GL_LINK_WARNING ("stat is unportable - " \
- "use gnulib module stat for portability"), \
- stat (p, b))
-#endif
-
#if @GNULIB_FCHMODAT@
# if !@HAVE_FCHMODAT@
extern int fchmodat (int fd, char const *file, mode_t mode, int flag);
@@ -341,6 +306,12 @@ extern int fchmodat (int fd, char const *file, mode_t mode, int flag);
#endif
+#if @REPLACE_FSTAT@
+# define fstat rpl_fstat
+extern int fstat (int fd, struct stat *buf);
+#endif
+
+
#if @GNULIB_FSTATAT@
# if @REPLACE_FSTATAT@
# undef fstatat
@@ -375,6 +346,71 @@ extern int futimens (int fd, struct timespec const times[2]);
#endif
+#if @GNULIB_LCHMOD@
+/* Change the mode of FILENAME to MODE, without dereferencing it if FILENAME
+ denotes a symbolic link. */
+# if !@HAVE_LCHMOD@
+/* The lchmod replacement follows symbolic links. Callers should take
+ this into account; lchmod should be applied only to arguments that
+ are known to not be symbolic links. On hosts that lack lchmod,
+ this can lead to race conditions between the check and the
+ invocation of lchmod, but we know of no workarounds that are
+ reliable in general. You might try requesting support for lchmod
+ from your operating system supplier. */
+# define lchmod chmod
+# endif
+# if 0 /* assume already declared */
+extern int lchmod (const char *filename, mode_t mode);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef lchmod
+# define lchmod(f,m) \
+ (GL_LINK_WARNING ("lchmod is unportable - " \
+ "use gnulib module lchmod for portability"), \
+ lchmod (f, m))
+#endif
+
+
+#if @GNULIB_LSTAT@
+# if ! @HAVE_LSTAT@
+/* mingw does not support symlinks, therefore it does not have lstat. But
+ without links, stat does just fine. */
+# define lstat stat
+# elif @REPLACE_LSTAT@
+# undef lstat
+# define lstat rpl_lstat
+extern int rpl_lstat (const char *name, struct stat *buf);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef lstat
+# define lstat(p,b) \
+ (GL_LINK_WARNING ("lstat is unportable - " \
+ "use gnulib module lstat for portability"), \
+ lstat (p, b))
+#endif
+
+
+#if @REPLACE_MKDIR@
+# undef mkdir
+# define mkdir rpl_mkdir
+extern int mkdir (char const *name, mode_t mode);
+#else
+/* mingw's _mkdir() function has 1 argument, but we pass 2 arguments.
+ Additionally, it declares _mkdir (and depending on compile flags, an
+ alias mkdir), only in the nonstandard <io.h>, which is included above. */
+# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+
+static inline int
+rpl_mkdir (char const *name, mode_t mode)
+{
+ return _mkdir (name);
+}
+
+# define mkdir rpl_mkdir
+# endif
+#endif
+
+
#if @GNULIB_MKDIRAT@
# if !@HAVE_MKDIRAT@
extern int mkdirat (int fd, char const *file, mode_t mode);
@@ -387,6 +423,7 @@ extern int mkdirat (int fd, char const *file, mode_t mode);
mkdirat (d, n, m))
#endif
+
#if @GNULIB_MKFIFOAT@
# if !@HAVE_MKFIFOAT@
int mkfifoat (int fd, char const *file, mode_t mode);
@@ -399,6 +436,7 @@ int mkfifoat (int fd, char const *file, mode_t mode);
mkfifoat (d, n, m))
#endif
+
#if @GNULIB_MKNODAT@
# if !@HAVE_MKNODAT@
int mknodat (int fd, char const *file, mode_t mode, dev_t dev);
@@ -411,56 +449,40 @@ int mknodat (int fd, char const *file, mode_t mode, dev_t dev);
mknodat (f, n, m, d))
#endif
-#if @REPLACE_FSTAT@
-# define fstat rpl_fstat
-extern int fstat (int fd, struct stat *buf);
-#endif
-
-#if @REPLACE_MKDIR@
-# undef mkdir
-# define mkdir rpl_mkdir
-extern int mkdir (char const *name, mode_t mode);
-#else
-/* mingw's _mkdir() function has 1 argument, but we pass 2 arguments.
- Additionally, it declares _mkdir (and depending on compile flags, an
- alias mkdir), only in the nonstandard <io.h>, which is included above. */
-# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-static inline int
-rpl_mkdir (char const *name, mode_t mode)
-{
- return _mkdir (name);
-}
-
-# define mkdir rpl_mkdir
+#if @GNULIB_STAT@
+# if @REPLACE_STAT@
+/* We can't use the object-like #define stat rpl_stat, because of
+ struct stat. This means that rpl_stat will not be used if the user
+ does (stat)(a,b). Oh well. */
+# undef stat
+# define stat(name, st) rpl_stat (name, st)
+extern int stat (const char *name, struct stat *buf);
# endif
+#elif defined GNULIB_POSIXCHECK
+# undef stat
+# define stat(p,b) \
+ (GL_LINK_WARNING ("stat is unportable - " \
+ "use gnulib module stat for portability"), \
+ stat (p, b))
#endif
-/* Declare BSD extensions. */
-
-#if @GNULIB_LCHMOD@
-/* Change the mode of FILENAME to MODE, without dereferencing it if FILENAME
- denotes a symbolic link. */
-# if !@HAVE_LCHMOD@
-/* The lchmod replacement follows symbolic links. Callers should take
- this into account; lchmod should be applied only to arguments that
- are known to not be symbolic links. On hosts that lack lchmod,
- this can lead to race conditions between the check and the
- invocation of lchmod, but we know of no workarounds that are
- reliable in general. You might try requesting support for lchmod
- from your operating system supplier. */
-# define lchmod chmod
+#if @GNULIB_UTIMENSAT@
+# if @REPLACE_UTIMENSAT@
+# undef utimensat
+# define utimensat rpl_utimensat
# endif
-# if 0 /* assume already declared */
-extern int lchmod (const char *filename, mode_t mode);
+# if !@HAVE_UTIMENSAT@ || @REPLACE_UTIMENSAT@
+ extern int utimensat (int fd, char const *name,
+ struct timespec const times[2], int flag);
# endif
#elif defined GNULIB_POSIXCHECK
-# undef lchmod
-# define lchmod(f,m) \
- (GL_LINK_WARNING ("lchmod is unportable - " \
- "use gnulib module lchmod for portability"), \
- lchmod (f, m))
+# undef utimensat
+# define utimensat(d,n,t,f) \
+ (GL_LINK_WARNING ("utimensat is not portable - " \
+ "use gnulib module utimensat for portability"), \
+ utimensat (d, n, t, f))
#endif