On Thu, Jan 17, 2019 at 08:05:24PM +0700, Nguyễn Thái Ngọc Duy wrote: > Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@xxxxxxxxx> > --- > diff.c | 113 ++++++++++++++++++++++++++------------------------------- > 1 file changed, 52 insertions(+), 61 deletions(-) > > diff --git a/diff.c b/diff.c > index 4398b30f47..1b01b36507 100644 > --- a/diff.c > +++ b/diff.c > @@ -4660,77 +4660,56 @@ int parse_long_opt(const char *opt, const char **argv, > return 2; > } > > -static int stat_opt(struct diff_options *options, const char **av) > +static int diff_opt_stat(const struct option *opt, const char *value, int unset) > { > - const char *arg = av[0]; > - char *end; > + struct diff_options *options = opt->value; > int width = options->stat_width; > int name_width = options->stat_name_width; > int graph_width = options->stat_graph_width; > int count = options->stat_count; > - int argcount = 1; > + char *end; > > - if (!skip_prefix(arg, "--stat", &arg)) > - BUG("stat option does not begin with --stat: %s", arg); > - end = (char *)arg; > + BUG_ON_OPT_NEG(unset); > > - switch (*arg) { > - case '-': > - if (skip_prefix(arg, "-width", &arg)) { > - if (*arg == '=') > - width = strtoul(arg + 1, &end, 10); > - else if (!*arg && !av[1]) > - die_want_option("--stat-width"); > - else if (!*arg) { > - width = strtoul(av[1], &end, 10); > - argcount = 2; > - } > - } else if (skip_prefix(arg, "-name-width", &arg)) { > - if (*arg == '=') > - name_width = strtoul(arg + 1, &end, 10); > - else if (!*arg && !av[1]) > - die_want_option("--stat-name-width"); > - else if (!*arg) { > - name_width = strtoul(av[1], &end, 10); > - argcount = 2; > - } > - } else if (skip_prefix(arg, "-graph-width", &arg)) { > - if (*arg == '=') > - graph_width = strtoul(arg + 1, &end, 10); > - else if (!*arg && !av[1]) > - die_want_option("--stat-graph-width"); > - else if (!*arg) { > - graph_width = strtoul(av[1], &end, 10); > - argcount = 2; > - } > - } else if (skip_prefix(arg, "-count", &arg)) { > - if (*arg == '=') > - count = strtoul(arg + 1, &end, 10); > - else if (!*arg && !av[1]) > - die_want_option("--stat-count"); > - else if (!*arg) { > - count = strtoul(av[1], &end, 10); > - argcount = 2; > - } This hunk removes the last couple of callsites of the static die_want_option() function, and building this commit fails with: diff.c:107:22: error: ‘die_want_option’ defined but not used [-Werror=unused-function] static NORETURN void die_want_option(const char *option_name) ^~~~~~~~~~~~~~~ cc1: all warnings being treated as errors