Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 2 Sep 2009 20:50:39 +0000 (UTC)
From:      Edward Tomasz Napierala <trasz@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r196773 - head/bin/ls
Message-ID:  <200909022050.n82KodmI006768@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: trasz
Date: Wed Sep  2 20:50:39 2009
New Revision: 196773
URL: http://svn.freebsd.org/changeset/base/196773

Log:
  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.

Modified:
  head/bin/ls/print.c

Modified: head/bin/ls/print.c
==============================================================================
--- head/bin/ls/print.c	Wed Sep  2 17:33:51 2009	(r196772)
+++ head/bin/ls/print.c	Wed Sep  2 20:50:39 2009	(r196773)
@@ -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;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200909022050.n82KodmI006768>