diff lib/openat.h @ 7677:5617bb70e723

* lib/openat.h (rpl_fstatat): New macro, if [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK. (fstatat): Define to rpl_fstatat under the same conditions, unless COMPILING_FSTATAT. * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat seems to have the bug. * lib/fstatat.c: New file. * modules/openat (Files): Add it.
author Paul Eggert <eggert@cs.ucla.edu>
date Mon, 20 Nov 2006 22:01:30 +0000 (2006-11-20)
parents 43e3888c56c4
children bbbbbf4cd1c5
line wrap: on
line diff
--- a/lib/openat.h
+++ b/lib/openat.h
@@ -85,6 +85,14 @@
 
 #endif
 
+#if HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK
+int rpl_fstatat (int fd, char const *file, struct stat *st, int flag);
+# if !COMPILING_FSTATAT
+#  undef fstatat
+#  define fstatat rpl_fstatat
+# endif
+#endif
+
 int mkdirat (int fd, char const *file, mode_t mode);
 void openat_restore_fail (int) ATTRIBUTE_NORETURN;
 void openat_save_fail (int) ATTRIBUTE_NORETURN;