summaryrefslogtreecommitdiff
path: root/bin/rdsquashfs
diff options
context:
space:
mode:
Diffstat (limited to 'bin/rdsquashfs')
-rw-r--r--bin/rdsquashfs/describe.c8
-rw-r--r--bin/rdsquashfs/fill_files.c7
-rw-r--r--bin/rdsquashfs/rdsquashfs.c4
-rw-r--r--bin/rdsquashfs/restore_fstree.c15
4 files changed, 19 insertions, 15 deletions
diff --git a/bin/rdsquashfs/describe.c b/bin/rdsquashfs/describe.c
index 1e723bc..540b126 100644
--- a/bin/rdsquashfs/describe.c
+++ b/bin/rdsquashfs/describe.c
@@ -8,10 +8,12 @@
static int print_name(const sqfs_tree_node_t *n, bool dont_escape)
{
- char *start, *ptr, *name = sqfs_tree_node_get_path(n);
+ char *start, *ptr, *name;
+ int ret;
- if (name == NULL) {
- perror("Recovering file path of tree node");
+ ret = sqfs_tree_node_get_path(n, &name);
+ if (ret != 0) {
+ sqfs_perror(NULL, "Recovering file path of tree node", ret);
return -1;
}
diff --git a/bin/rdsquashfs/fill_files.c b/bin/rdsquashfs/fill_files.c
index 8459c1e..923bc12 100644
--- a/bin/rdsquashfs/fill_files.c
+++ b/bin/rdsquashfs/fill_files.c
@@ -67,6 +67,7 @@ static int add_file(const sqfs_tree_node_t *node)
struct file_ent *new;
size_t new_sz;
char *path;
+ int ret;
if (num_files == max_files) {
new_sz = max_files ? max_files * 2 : 256;
@@ -81,9 +82,9 @@ static int add_file(const sqfs_tree_node_t *node)
max_files = new_sz;
}
- path = sqfs_tree_node_get_path(node);
- if (path == NULL) {
- perror("assembling file path");
+ ret = sqfs_tree_node_get_path(node, &path);
+ if (ret != 0) {
+ sqfs_perror(NULL, "assembling file path", ret);
return -1;
}
diff --git a/bin/rdsquashfs/rdsquashfs.c b/bin/rdsquashfs/rdsquashfs.c
index a8dc4c9..8926df6 100644
--- a/bin/rdsquashfs/rdsquashfs.c
+++ b/bin/rdsquashfs/rdsquashfs.c
@@ -71,7 +71,9 @@ static int tree_sort(sqfs_tree_node_t *root)
for (it = root->children; it->next != NULL; it = it->next) {
if (strcmp((const char *)it->name,
(const char *)it->next->name) == 0) {
- char *path = sqfs_tree_node_get_path(it);
+ char *path;
+
+ sqfs_tree_node_get_path(it, &path);
fprintf(stderr, "Entry '%s' found more than once!\n",
path);
diff --git a/bin/rdsquashfs/restore_fstree.c b/bin/rdsquashfs/restore_fstree.c
index cf5bc2a..b9f92fe 100644
--- a/bin/rdsquashfs/restore_fstree.c
+++ b/bin/rdsquashfs/restore_fstree.c
@@ -127,10 +127,10 @@ static int create_node_dfs(const sqfs_tree_node_t *n, int flags)
return 0;
}
- name = sqfs_tree_node_get_path(n);
- if (name == NULL) {
- fprintf(stderr, "Constructing full path for '%s': %s\n",
- (const char *)n->name, strerror(errno));
+ ret = sqfs_tree_node_get_path(n, &name);
+ if (ret != 0) {
+ sqfs_perror((const char *)n->name,
+ "constructing full path", ret);
return -1;
}
@@ -226,10 +226,9 @@ static int set_attribs(sqfs_xattr_reader_t *xattr,
}
}
- path = sqfs_tree_node_get_path(n);
- if (path == NULL) {
- fprintf(stderr, "Reconstructing full path: %s\n",
- strerror(errno));
+ ret = sqfs_tree_node_get_path(n, &path);
+ if (ret != 0) {
+ sqfs_perror(NULL, "reconstructing full path", ret);
return -1;
}