]> gitweb.michael.orlitzky.com - apply-default-acl.git/commitdiff
Eliminate the one remaining use of is_directory().
authorMichael Orlitzky <michael@orlitzky.com>
Mon, 26 Feb 2018 01:11:54 +0000 (20:11 -0500)
committerMichael Orlitzky <michael@orlitzky.com>
Mon, 26 Feb 2018 19:10:28 +0000 (14:10 -0500)
The is_directory() function was called once, in a place where we
already had access to its argument's stat structure. Instead, we now
just use S_ISDIR, and the is_directory() function has met its end.

src/apply-default-acl.c

index 29ca5faa9ddde14aa8e0344b1870c2d713705770..d2f8f536b530fa5b63d8fe605c75ab1ac1f737af 100644 (file)
@@ -92,29 +92,6 @@ bool is_path_directory(const char* path) {
 }
 
 
-/**
- * @brief Determine whether or not the given file descriptor is for
- *   a directory.
- *
- * @param fd
- *   The file descriptor whose directoryness is in question.
- *
- * @return true if @c fd describes a directory, and false otherwise.
- */
-bool is_directory(int fd) {
-  if (fd <= 0) {
-    return false;
-  }
-
-  struct stat s;
-  if (fstat(fd, &s) == 0) {
-    return S_ISDIR(s.st_mode);
-  }
-  else {
-    return false;
-  }
-}
-
 
 
 /**
@@ -641,7 +618,7 @@ int apply_default_acl(const char* path, bool no_exec_mask) {
 
   if (!no_exec_mask) {
     /* Never mask the execute bit on directories. */
-    int ace_result = any_can_execute(fd) || is_directory(fd);
+    int ace_result = any_can_execute(fd) || S_ISDIR(s.st_mode);
 
     if (ace_result == ACL_ERROR) {
       perror("apply_default_acl (any_can_execute)");