diff options
Diffstat (limited to 'bin/rdsquashfs')
-rw-r--r-- | bin/rdsquashfs/describe.c | 8 | ||||
-rw-r--r-- | bin/rdsquashfs/fill_files.c | 7 | ||||
-rw-r--r-- | bin/rdsquashfs/rdsquashfs.c | 4 | ||||
-rw-r--r-- | bin/rdsquashfs/restore_fstree.c | 15 |
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; } |