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

View File

@ -623,15 +623,19 @@ aclmode(char *buf, const FTSENT *p)
S_ISWHT(p->fts_statp->st_mode))
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) {
previous_dev = p->fts_statp->st_dev;
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);
if (ret > 0) {
type = ACL_TYPE_NFS4;