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;  	} | 
