1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-11 09:50:12 +00:00

Fix regression introduced in r196712 - the 'name' string needs

to be rewritten for each file we want to check ACL on.  Without
this change, ls(1) would check only the ACL on the first file
to list.
This commit is contained in:
Edward Tomasz Napierala 2009-09-02 20:50:39 +00:00
parent 8d3635c4db
commit a34292623f
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=196773

View File

@ -623,15 +623,19 @@ aclmode(char *buf, const FTSENT *p)
S_ISWHT(p->fts_statp->st_mode)) S_ISWHT(p->fts_statp->st_mode))
return; return;
if (previous_dev == p->fts_statp->st_dev && supports_acls == 0)
return;
if (p->fts_level == FTS_ROOTLEVEL)
snprintf(name, sizeof(name), "%s", p->fts_name);
else
snprintf(name, sizeof(name), "%s/%s",
p->fts_parent->fts_accpath, p->fts_name);
if (previous_dev != p->fts_statp->st_dev) { if (previous_dev != p->fts_statp->st_dev) {
previous_dev = p->fts_statp->st_dev; previous_dev = p->fts_statp->st_dev;
supports_acls = 0; supports_acls = 0;
if (p->fts_level == FTS_ROOTLEVEL)
snprintf(name, sizeof(name), "%s", p->fts_name);
else
snprintf(name, sizeof(name), "%s/%s",
p->fts_parent->fts_accpath, p->fts_name);
ret = lpathconf(name, _PC_ACL_NFS4); ret = lpathconf(name, _PC_ACL_NFS4);
if (ret > 0) { if (ret > 0) {
type = ACL_TYPE_NFS4; type = ACL_TYPE_NFS4;