cmdutils: remove OPT_FUNC2

Make ff* tools only accept opt_* functions taking two arguments.

The distinction between functions with one and two arguments is quite
pointless. Simplify parse_options() code.
This commit is contained in:
Stefano Sabatini
2011-05-24 18:14:42 +02:00
parent 78046dadc3
commit eb8bc57240
6 changed files with 148 additions and 133 deletions

View File

@ -273,15 +273,13 @@ unknown_opt:
*po->u.int64_arg = parse_number_or_die(opt, arg, OPT_INT64, INT64_MIN, INT64_MAX);
} else if (po->flags & OPT_FLOAT) {
*po->u.float_arg = parse_number_or_die(opt, arg, OPT_FLOAT, -INFINITY, INFINITY);
} else if (po->flags & OPT_FUNC2) {
if (po->u.func2_arg(opt, arg) < 0) {
fprintf(stderr, "%s: failed to set value '%s' for option '%s'\n", argv[0], arg, opt);
exit(1);
}
} else if (po->flags & OPT_DUMMY) {
/* Do nothing for this option */
} else {
po->u.func_arg(arg);
if (po->u.func_arg(opt, arg) < 0) {
fprintf(stderr, "%s: failed to set value '%s' for option '%s'\n", argv[0], arg, opt);
exit(1);
}
}
if(po->flags & OPT_EXIT)
exit(0);