diff options
-rw-r--r-- | bin/sqfsdiff/sqfsdiff.c | 11 | ||||
-rw-r--r-- | bin/sqfsdiff/sqfsdiff.h | 3 |
2 files changed, 12 insertions, 2 deletions
diff --git a/bin/sqfsdiff/sqfsdiff.c b/bin/sqfsdiff/sqfsdiff.c index 2871322..b543c00 100644 --- a/bin/sqfsdiff/sqfsdiff.c +++ b/bin/sqfsdiff/sqfsdiff.c @@ -40,10 +40,17 @@ static int open_sfqs(sqfs_state_t *state, const char *path) if (state->super.flags & SQFS_FLAG_COMPRESSOR_OPTIONS) { ret = state->cmp->read_options(state->cmp, state->file); - if (ret) { + + if (ret == 0) { + state->cmp->get_configuration(state->cmp, + &state->options); + state->have_options = true; + } else { sqfs_perror(path, "reading compressor options", ret); - goto fail_cmp; + state->have_options = false; } + } else { + state->have_options = false; } state->idtbl = sqfs_id_table_create(0); diff --git a/bin/sqfsdiff/sqfsdiff.h b/bin/sqfsdiff/sqfsdiff.h index 94fce93..a8f1b32 100644 --- a/bin/sqfsdiff/sqfsdiff.h +++ b/bin/sqfsdiff/sqfsdiff.h @@ -27,6 +27,9 @@ typedef struct { sqfs_dir_reader_t *dr; sqfs_tree_node_t *root; sqfs_data_reader_t *data; + + sqfs_compressor_config_t options; + bool have_options; } sqfs_state_t; typedef struct { |