diff options
author | jh <jh@FreeBSD.org> | 2011-01-03 17:17:31 +0000 |
---|---|---|
committer | jh <jh@FreeBSD.org> | 2011-01-03 17:17:31 +0000 |
commit | 4c78089710b5ccf0a0c579c50abd36518cd0921d (patch) | |
tree | b77d9bc055ea5784599ab9bdf943157dc8ede965 /bin/setfacl | |
parent | 22fce0b1c2fdbd43dc60c768421ef81a407a98a0 (diff) | |
download | FreeBSD-src-4c78089710b5ccf0a0c579c50abd36518cd0921d.zip FreeBSD-src-4c78089710b5ccf0a0c579c50abd36518cd0921d.tar.gz |
Increase carried_error if we skip a file due to an error. This ensures
that setfacl(1) exits with proper exit status on failure.
PR: bin/149780
Submitted by: Ævar Arnfjörð Bjarmason (original version)
Reviewed by: trasz
MFC after: 3 weeks
Diffstat (limited to 'bin/setfacl')
-rw-r--r-- | bin/setfacl/setfacl.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/bin/setfacl/setfacl.c b/bin/setfacl/setfacl.c index 42f4731..7534794 100644 --- a/bin/setfacl/setfacl.c +++ b/bin/setfacl/setfacl.c @@ -201,12 +201,14 @@ main(int argc, char *argv[]) if (stat(file->filename, &sb) == -1) { warn("%s: stat() failed", file->filename); + carried_error++; continue; } if (acl_type == ACL_TYPE_DEFAULT && S_ISDIR(sb.st_mode) == 0) { warnx("%s: default ACL may only be set on a directory", file->filename); + carried_error++; continue; } @@ -218,6 +220,7 @@ main(int argc, char *argv[]) if (acl_type == ACL_TYPE_DEFAULT) { warnx("%s: there are no default entries " "in NFSv4 ACLs", file->filename); + carried_error++; continue; } acl_type = ACL_TYPE_NFS4; @@ -240,6 +243,7 @@ main(int argc, char *argv[]) else warn("%s: acl_get_file() failed", file->filename); + carried_error++; continue; } |