aboutsummaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorMark Johnston <markj@FreeBSD.org>2018-10-26 18:56:58 +0000
committerMark Johnston <markj@FreeBSD.org>2018-10-26 18:56:58 +0000
commitf024dd3bf0c99ff38239ef8e92c12a9fc6bce14c (patch)
tree67bdcd82348247f7a4a78520c8bd0ac60ff8c689 /bin
parented34a7fcf26fc1a36cf7b27d1a2d501bfd6b93df (diff)
Notes
Diffstat (limited to 'bin')
-rw-r--r--bin/setfacl/setfacl.c21
1 files changed, 11 insertions, 10 deletions
diff --git a/bin/setfacl/setfacl.c b/bin/setfacl/setfacl.c
index ff0a6ca512d8..e212170d59e9 100644
--- a/bin/setfacl/setfacl.c
+++ b/bin/setfacl/setfacl.c
@@ -252,6 +252,8 @@ handle_file(FTS *ftsp, FTSENT *file)
}
}
+ ret = 0;
+
/*
* Don't try to set an empty default ACL; it will always fail.
* Use acl_delete_def_file(3) instead.
@@ -261,34 +263,33 @@ handle_file(FTS *ftsp, FTSENT *file)
if (acl_delete_def_file(file->fts_accpath) == -1) {
warn("%s: acl_delete_def_file() failed",
file->fts_path);
- return (1);
+ ret = 1;
}
- return (0);
+ goto out;
}
/* Don't bother setting the ACL if something is broken. */
if (local_error) {
- return (1);
- }
-
- if (acl_type != ACL_TYPE_NFS4 && need_mask &&
+ ret = 1;
+ } else if (acl_type != ACL_TYPE_NFS4 && need_mask &&
set_acl_mask(&acl, file->fts_path) == -1) {
warnx("%s: failed to set ACL mask", file->fts_path);
- return (1);
+ ret = 1;
} else if (follow_symlink) {
if (acl_set_file(file->fts_accpath, acl_type, acl) == -1) {
warn("%s: acl_set_file() failed", file->fts_path);
- return (1);
+ ret = 1;
}
} else {
if (acl_set_link_np(file->fts_accpath, acl_type, acl) == -1) {
warn("%s: acl_set_link_np() failed", file->fts_path);
- return (1);
+ ret = 1;
}
}
+out:
acl_free(acl);
- return (0);
+ return (ret);
}
int