aboutsummaryrefslogtreecommitdiff
path: root/bin/sqfs2tar/src/write_tree.c
diff options
context:
space:
mode:
Diffstat (limited to 'bin/sqfs2tar/src/write_tree.c')
-rw-r--r--bin/sqfs2tar/src/write_tree.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/bin/sqfs2tar/src/write_tree.c b/bin/sqfs2tar/src/write_tree.c
index 71eb249..e578a9f 100644
--- a/bin/sqfs2tar/src/write_tree.c
+++ b/bin/sqfs2tar/src/write_tree.c
@@ -124,8 +124,15 @@ static int write_tree_dfs(const sqfs_tree_node_t *n)
}
}
- if (!no_xattr) {
- if (get_xattrs(name, n->inode, &xattr)) {
+ if (!no_xattr && xr != NULL) {
+ sqfs_u32 index;
+ int ret;
+
+ sqfs_inode_get_xattr_index(n->inode, &index);
+
+ ret = sqfs_xattr_reader_read_all(xr, index, &xattr);
+ if (ret) {
+ sqfs_perror(name, "resolving xattr index", ret);
sqfs_free(name);
return -1;
}