about summary refs log tree commit diff
path: root/lr.c
diff options
context:
space:
mode:
authorChristian Neukirchen <chneukirchen@gmail.com>2016-02-25 16:02:37 +0100
committerChristian Neukirchen <chneukirchen@gmail.com>2016-02-25 16:02:37 +0100
commitecef4a24f29755ec7c98f55067a41643362e9a89 (patch)
tree5873274a6fa12379e8922b98e2fcdc5bca949dd5 /lr.c
parent0b7db2fde4fc662db217e0eae3d17aee5e311706 (diff)
downloadlr-ecef4a24f29755ec7c98f55067a41643362e9a89.tar.gz
lr-ecef4a24f29755ec7c98f55067a41643362e9a89.tar.xz
lr-ecef4a24f29755ec7c98f55067a41643362e9a89.zip
fix %x with -U
Diffstat (limited to 'lr.c')
-rw-r--r--lr.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/lr.c b/lr.c
index 0ce5963..707000e 100644
--- a/lr.c
+++ b/lr.c
@@ -1550,6 +1550,13 @@ callback(const char *fpath, const struct stat *sb, int depth, int entries, off_t
 	if (expr && !eval(expr, fi))
 		return 0;
 
+	if (need_xattr) {
+		strncpy(fi->xattr, xattr_string(fi->fpath), sizeof fi->xattr);
+		if (strlen(fi->xattr) > maxxattr)
+			maxxattr = strlen(fi->xattr);
+	} else
+		memset(fi->xattr, 0, sizeof fi->xattr);
+
 	if (Uflag)
 		print(&fi, postorder, depth);
 	else
@@ -1583,12 +1590,6 @@ callback(const char *fpath, const struct stat *sb, int depth, int entries, off_t
 		groupname(fi->sb.st_gid);
 	if (need_fstype)
 		fstype(fi->sb.st_dev);
-	if (need_xattr) {
-		strncpy(fi->xattr, xattr_string(fi->fpath), sizeof fi->xattr);
-		if (strlen(fi->xattr) > maxxattr)
-			maxxattr = strlen(fi->xattr);
-	} else
-		memset(fi->xattr, 0, sizeof fi->xattr);
 
 	return 0;
 }