aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDavid Oberhollenzer <david.oberhollenzer@sigma-star.at>2020-04-16 05:13:50 +0200
committerDavid Oberhollenzer <david.oberhollenzer@sigma-star.at>2020-04-16 05:17:29 +0200
commit6b3e6d299d5298a5936dbba57f67cdfc4a406789 (patch)
tree28efefb83f05abbe4edd3944e2019a1d79669833 /include
parent943dc3fa216913bff7e2dd267a9f52f082c04663 (diff)
tar2sqfs & gensquashfs: Delete the output file on failure
This commit changes the tar2sqfs & gensquashfs code to pass the exit status on to sqfs_writer_cleanup in libcommon. The function sqfs writer code in libcommon is changed to retain the output file name and delete it if the status passed to the cleanup function is anything other than EXIT_SUCCESS. Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
Diffstat (limited to 'include')
-rw-r--r--include/common.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/include/common.h b/include/common.h
index 2ecea42..0cc45c8 100644
--- a/include/common.h
+++ b/include/common.h
@@ -35,6 +35,7 @@
#include <stddef.h>
typedef struct {
+ const char *filename;
sqfs_block_writer_t *blkwr;
sqfs_frag_table_t *fragtbl;
sqfs_block_processor_t *data;
@@ -125,7 +126,7 @@ int sqfs_writer_init(sqfs_writer_t *sqfs, const sqfs_writer_cfg_t *wrcfg);
int sqfs_writer_finish(sqfs_writer_t *sqfs, const sqfs_writer_cfg_t *cfg);
-void sqfs_writer_cleanup(sqfs_writer_t *sqfs);
+void sqfs_writer_cleanup(sqfs_writer_t *sqfs, int status);
void sqfs_perror(const char *file, const char *action, int error_code);