]> code.delx.au - gnu-emacs/blobdiff - lib/set-permissions.c
Remove now-inaccurate bytecode comments
[gnu-emacs] / lib / set-permissions.c
index 25c463d966d21c211305877654151cd1646f8a85..2c773567cd60474e7ff089d0511173297b4ab99e 100644 (file)
@@ -1,6 +1,6 @@
-/* set-permissions.c - set permissions of a file
+/* Set permissions of a file.  -*- coding: utf-8 -*-
 
-   Copyright (C) 2002-2003, 2005-2015 Free Software Foundation, Inc.
+   Copyright (C) 2002-2003, 2005-2016 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -269,6 +269,7 @@ set_acls_from_mode (const char *name, int desc, mode_t mode, bool *must_chmod)
          }
        return -1;
       }
+    return 0;
   }
 }
 
@@ -530,7 +531,8 @@ set_acls (struct permission_context *ctx, const char *name, int desc,
              *acls_set = true;
              if (S_ISDIR(ctx->mode))
                {
-                 if (! from_mode && ctx->default_acl)
+                 if (! from_mode && ctx->default_acl &&
+                     acl_default_nontrivial (ctx->default_acl))
                    ret = acl_set_file (name, ACL_TYPE_DEFAULT,
                                        ctx->default_acl);
                  else
@@ -540,6 +542,15 @@ set_acls (struct permission_context *ctx, const char *name, int desc,
        }
     }
 
+# if HAVE_ACL_TYPE_NFS4  /* FreeBSD */
+
+  /* File systems either support POSIX ACLs (for example, ufs) or NFS4 ACLs
+     (for example, zfs). */
+
+  /* TODO: Implement setting ACLs once get_permissions() reads them. */
+
+# endif
+
 #  else /* HAVE_ACL_TYPE_EXTENDED */
   /* Mac OS X */