summaryrefslogtreecommitdiff
path: root/mkfs/options.c
diff options
context:
space:
mode:
Diffstat (limited to 'mkfs/options.c')
-rw-r--r--mkfs/options.c18
1 files changed, 8 insertions, 10 deletions
diff --git a/mkfs/options.c b/mkfs/options.c
index 31b7731..4dce84e 100644
--- a/mkfs/options.c
+++ b/mkfs/options.c
@@ -146,7 +146,7 @@ const char *help_details =
void process_command_line(options_t *opt, int argc, char **argv)
{
bool have_compressor;
- int i;
+ int i, ret;
memset(opt, 0, sizeof(*opt));
sqfs_writer_cfg_init(&opt->cfg);
@@ -159,25 +159,23 @@ void process_command_line(options_t *opt, int argc, char **argv)
switch (i) {
case 'c':
have_compressor = true;
+ ret = sqfs_compressor_id_from_name(optarg);
- if (sqfs_compressor_id_from_name(optarg,
- &opt->cfg.comp_id)) {
+ if (ret < 0) {
have_compressor = false;
- }
-
- if (!sqfs_compressor_exists(opt->cfg.comp_id))
- have_compressor = false;
-
#ifdef WITH_LZO
- if (opt->cfg.comp_id == SQFS_COMP_LZO)
- have_compressor = true;
+ if (opt->cfg.comp_id == SQFS_COMP_LZO)
+ have_compressor = true;
#endif
+ }
if (!have_compressor) {
fprintf(stderr, "Unsupported compressor '%s'\n",
optarg);
exit(EXIT_FAILURE);
}
+
+ opt->cfg.comp_id = ret;
break;
case 'b':
opt->cfg.block_size = strtol(optarg, NULL, 0);