Trivial code simplifications.
authorBruno Haible <bruno@clisp.org>
Sun, 8 Jun 2008 11:29:35 +0000 (13:29 +0200)
committerBruno Haible <bruno@clisp.org>
Sun, 8 Jun 2008 11:29:35 +0000 (13:29 +0200)
ChangeLog
lib/set-mode-acl.c

index 1661de691787c6ba5d288f41a65642c20a0e677e..982f89a2ed0b71657b566f2b147fe7d415f6f817 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2008-06-08  Bruno Haible  <bruno@clisp.org>
+
+       * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
+
 2008-06-08  Jim Meyering  <meyering@redhat.com>
 
        * modules/acl (Maintainer): Add Bruno Haible.
index b56ce03a94de29a4df2aa33b74039f65ca77df85..ea6fc363daeae92a80989357996b95fde51cd39c 100644 (file)
@@ -115,14 +115,12 @@ qset_acl (char const *name, int desc, mode_t mode)
       acl_free (acl);
 
       if (ACL_NOT_WELL_SUPPORTED (errno))
+       return chmod_or_fchmod (name, desc, mode);
+      else
        {
-         if (chmod_or_fchmod (name, desc, mode) != 0)
-           saved_errno = errno;
-         else
-           return 0;
+         errno = saved_errno;
+         return -1;
        }
-      errno = saved_errno;
-      return -1;
     }
   else
     acl_free (acl);
@@ -134,9 +132,7 @@ qset_acl (char const *name, int desc, mode_t mode)
     {
       /* We did not call chmod so far, so the special bits have not yet
          been set.  */
-
-      if (chmod_or_fchmod (name, desc, mode))
-       return -1;
+      return chmod_or_fchmod (name, desc, mode);
     }
   return 0;
 
@@ -186,19 +182,18 @@ qset_acl (char const *name, int desc, mode_t mode)
              acl_free (acl);
 
              if (ACL_NOT_WELL_SUPPORTED (saved_errno))
+               return chmod_or_fchmod (name, desc, mode);
+             else
                {
-                 if (chmod_or_fchmod (name, desc, mode) != 0)
-                   saved_errno = errno;
-                 else
-                   return 0;
+                 errno = saved_errno;
+                 return -1;
                }
-             errno = saved_errno;
-             return -1;
            }
          acl_free (acl);
        }
     }
 
+  /* Since !MODE_INSIDE_ACL, we have to call chmod explicitly.  */
   return chmod_or_fchmod (name, desc, mode);
 #  endif