opt_dec_intval decrements an int value, just as opt_inc_intval
increments.
There is not much more to say, other than it allows this
kind of thing, with balanced opposing options:
static int opt_verbosity = 0;
static struct opt_table options[] = {
OPT_WITHOUT_ARG("-q|--quiet", opt_dec_intval,
&opt_verbosity, "print less"),
OPT_WITHOUT_ARG("-v|--verbose", opt_inc_intval,
&opt_verbosity, "print more"),
OPT_ENDTABLE
};
which is an occasionally seen idiom. It allows, e.g., people who like
quiet to use `alias foo='foo -q'`, while letting them get back to
normal and verbose modes with various amounts of '-v's.
Signed-off-by: Douglas Bagnall <douglas@halo.gen.nz>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>