utimens: cache whether utimensat syscall works
[pspp] / lib / fchmodat.c
index cc2776eb1ee784b8d187f799264f7ac361eb65e2..55ae618365f6dc622681f95614bbbd3e07315364 100644 (file)
 
 #include <sys/stat.h>
 
-#include "dirname.h" /* solely for definition of IS_ABSOLUTE_FILE_NAME */
-#include "openat.h"
-#include "openat-priv.h"
-#include "save-cwd.h"
+#include <errno.h>
 
 #ifndef HAVE_LCHMOD
 /* Use a different name, to avoid conflicting with any
@@ -37,8 +34,8 @@ static int lchmod (char const *f, mode_t m) { errno = ENOSYS; return -1; }
    Invoke chmod or lchmod on file, FILE, using mode MODE, in the directory
    open on descriptor FD.  If possible, do it without changing the
    working directory.  Otherwise, resort to using save_cwd/fchdir,
-   then mkdir/restore_cwd.  If either the save_cwd or the restore_cwd
-   fails, then give a diagnostic and exit nonzero.
+   then (chmod|lchmod)/restore_cwd.  If either the save_cwd or the
+   restore_cwd fails, then give a diagnostic and exit nonzero.
    Note that an attempt to use a FLAG value of AT_SYMLINK_NOFOLLOW
    on a system without lchmod support causes this function to fail.  */