diff options
| author | David Oberhollenzer <david.oberhollenzer@sigma-star.at> | 2019-10-05 23:18:30 +0200 | 
|---|---|---|
| committer | David Oberhollenzer <david.oberhollenzer@sigma-star.at> | 2019-10-05 23:18:30 +0200 | 
| commit | 6261ef9505abb26d79cc48f24bce0d4de8419a45 (patch) | |
| tree | 33069695fd0723e10ff5c0e7eb1748d709de5e3d /tar | |
| parent | 40b75c24b1586e4d7ad8a9f4c14dc0b3ff99b8cd (diff) | |
Improve error reporting for tar2sqfs and gensquashfs
Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
Diffstat (limited to 'tar')
| -rw-r--r-- | tar/tar2sqfs.c | 37 | 
1 files changed, 20 insertions, 17 deletions
| diff --git a/tar/tar2sqfs.c b/tar/tar2sqfs.c index 9533229..375a413 100644 --- a/tar/tar2sqfs.c +++ b/tar/tar2sqfs.c @@ -243,7 +243,7 @@ static int write_file(tar_header_decoded_t *hdr, file_info_t *fi,  		}  	} -	ret = write_data_from_file(sqfs.data, inode, file, 0); +	ret = write_data_from_file(hdr->name, sqfs.data, inode, file, 0);  	file->destroy(file);  	sqfs.stats.bytes_read += filesize; @@ -259,35 +259,38 @@ static int write_file(tar_header_decoded_t *hdr, file_info_t *fi,  static int copy_xattr(tree_node_t *node, tar_header_decoded_t *hdr)  {  	tar_xattr_t *xattr; +	int ret; -	if (sqfs_xattr_writer_begin(sqfs.xwr)) { -		fputs("Error beginning xattr block\n", stderr); +	ret = sqfs_xattr_writer_begin(sqfs.xwr); +	if (ret) { +		sqfs_perror(hdr->name, "beginning xattr block", ret);  		return -1;  	}  	for (xattr = hdr->xattr; xattr != NULL; xattr = xattr->next) {  		if (!sqfs_has_xattr(xattr->key)) { -			if (dont_skip) { -				fprintf(stderr, "Cannot encode xattr key '%s' " -					"in squashfs\n", xattr->key); -				return -1; -			} +			fprintf(stderr, "%s: squashfs does not " +				"support xattr prefix of %s\n", +				dont_skip ? "ERROR" : "WARNING", +				xattr->key); -			fprintf(stderr, "WARNING: squashfs does not " -				"support xattr prefix of %s\n", xattr->key); +			if (dont_skip) +				return -1;  			continue;  		} -		if (sqfs_xattr_writer_add(sqfs.xwr, xattr->key, xattr->value, -					  strlen(xattr->value))) { -			fputs("Error converting xattr key-value pair\n", -			      stderr); +		ret = sqfs_xattr_writer_add(sqfs.xwr, xattr->key, xattr->value, +					    strlen(xattr->value)); +		if (ret) { +			sqfs_perror(hdr->name, "storing xattr key-value pair", +				    ret);  			return -1;  		}  	} -	if (sqfs_xattr_writer_end(sqfs.xwr, &node->xattr_idx)) { -		fputs("Error completing xattr block\n", stderr); +	ret = sqfs_xattr_writer_end(sqfs.xwr, &node->xattr_idx); +	if (ret) { +		sqfs_perror(hdr->name, "completing xattr block", ret);  		return -1;  	} @@ -372,7 +375,7 @@ static int process_tar_ball(void)  			if (skip) {  				fprintf(stderr, "%s: broken sparse " -					"file layout)\n", hdr.name); +					"file layout\n", hdr.name);  			}  		} | 
