diff options
Diffstat (limited to 'parse-options.c')
-rw-r--r-- | parse-options.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/parse-options.c b/parse-options.c index fd08bb425c..9eb55cc8b5 100644 --- a/parse-options.c +++ b/parse-options.c @@ -484,6 +484,28 @@ int parse_opt_approxidate_cb(const struct option *opt, const char *arg, return 0; } +int parse_opt_verbosity_cb(const struct option *opt, const char *arg, + int unset) +{ + int *target = opt->value; + + if (unset) + /* --no-quiet, --no-verbose */ + *target = 0; + else if (opt->short_name == 'v') { + if (*target >= 0) + (*target)++; + else + *target = 1; + } else { + if (*target <= 0) + (*target)--; + else + *target = -1; + } + return 0; +} + /* * This should really be OPTION_FILENAME type as a part of * parse_options that take prefix to do this while parsing. |