Commit 63b00556 authored by Douglas Bagnall's avatar Douglas Bagnall Committed by Rusty Russell

opt: add an int decrementing helper function

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: default avatarDouglas Bagnall <douglas@halo.gen.nz>
Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
parent b377324e
......@@ -165,6 +165,12 @@ char *opt_inc_intval(int *i)
return NULL;
}
char *opt_dec_intval(int *i)
{
(*i)--;
return NULL;
}
/* Display version string. */
char *opt_version_and_exit(const char *version)
{
......
......@@ -450,8 +450,9 @@ void opt_show_ulonglongval_si(char buf[OPT_SHOW_LEN], const unsigned long long *
/* Increment. */
/* Increment and decrement. */
char *opt_inc_intval(int *i);
char *opt_dec_intval(int *i);
/* Display version string to stdout, exit(0). */
char *opt_version_and_exit(const char *version);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment