diff options
Diffstat (limited to 'bin')
| -rw-r--r-- | bin/rdsquashfs/describe.c | 11 | 
1 files changed, 6 insertions, 5 deletions
| diff --git a/bin/rdsquashfs/describe.c b/bin/rdsquashfs/describe.c index 924bedc..8f45243 100644 --- a/bin/rdsquashfs/describe.c +++ b/bin/rdsquashfs/describe.c @@ -6,7 +6,7 @@   */  #include "rdsquashfs.h" -static int print_name(const sqfs_tree_node_t *n) +static int print_name(const sqfs_tree_node_t *n, bool dont_escape)  {  	char *start, *ptr, *name = sqfs_tree_node_get_path(n); @@ -21,7 +21,8 @@ static int print_name(const sqfs_tree_node_t *n)  		return -1;  	} -	if (strchr(name, ' ') == NULL && strchr(name, '"') == NULL) { +	if (dont_escape || (strchr(name, ' ') == NULL && +			    strchr(name, '"') == NULL)) {  		fputs(name, stdout);  	} else {  		fputc('"', stdout); @@ -59,7 +60,7 @@ static int print_simple(const char *type, const sqfs_tree_node_t *n,  			const char *extra)  {  	printf("%s ", type); -	if (print_name(n)) +	if (print_name(n, false))  		return -1;  	print_perm(n);  	if (extra != NULL) @@ -91,11 +92,11 @@ int describe_tree(const sqfs_tree_node_t *root, const char *unpack_root)  			return print_simple("file", root, NULL);  		fputs("file ", stdout); -		if (print_name(root)) +		if (print_name(root, false))  			return -1;  		print_perm(root);  		printf(" %s/", unpack_root); -		if (print_name(root)) +		if (print_name(root, true))  			return -1;  		fputc('\n', stdout);  		break; | 
