Merge branch 'jk/unused-params'
authorJunio C Hamano <gitster@pobox.com>
Thu, 7 Mar 2019 00:59:56 +0000 (09:59 +0900)
committerJunio C Hamano <gitster@pobox.com>
Thu, 7 Mar 2019 00:59:57 +0000 (09:59 +0900)
Code clean-up.

* jk/unused-params:
ref-filter: drop unused "sz" parameters
ref-filter: drop unused "obj" parameters
ref-filter: drop unused buf/sz pairs
files-backend: drop refs parameter from split_symref_update()
pack-objects: drop unused parameter from oe_map_new_pack()
merge-recursive: drop several unused parameters
diff: drop complete_rewrite parameter from run_external_diff()
diff: drop unused emit data parameter from sane_truncate_line()
diff: drop unused color reset parameters
diff: drop options parameter from diffcore_fix_diff_index()

1  2 
diff.c
diff.h
diff --combined diff.c
index 1a1f21578766e5fa6c455c94cce358ccad5de1d1,e3f263769b4272e4330e5d5e8fbeaacee20a6db4..62c7e5b7780eb35968eb96407e87cc1d60588496
--- 1/diff.c
--- 2/diff.c
+++ b/diff.c
@@@ -23,7 -23,6 +23,7 @@@
  #include "argv-array.h"
  #include "graph.h"
  #include "packfile.h"
 +#include "parse-options.h"
  #include "help.h"
  
  #ifdef NO_FAST_WORKING_DIRECTORY
@@@ -1614,8 -1613,7 +1614,7 @@@ static int new_blank_line_at_eof(struc
        return ws_blank_line(line, len, ecbdata->ws_rule);
  }
  
- static void emit_add_line(const char *reset,
-                         struct emit_callback *ecbdata,
+ static void emit_add_line(struct emit_callback *ecbdata,
                          const char *line, int len)
  {
        unsigned flags = WSEH_NEW | ecbdata->ws_rule;
        emit_diff_symbol(ecbdata->opt, DIFF_SYMBOL_PLUS, line, len, flags);
  }
  
- static void emit_del_line(const char *reset,
-                         struct emit_callback *ecbdata,
+ static void emit_del_line(struct emit_callback *ecbdata,
                          const char *line, int len)
  {
        unsigned flags = WSEH_OLD | ecbdata->ws_rule;
        emit_diff_symbol(ecbdata->opt, DIFF_SYMBOL_MINUS, line, len, flags);
  }
  
- static void emit_context_line(const char *reset,
-                             struct emit_callback *ecbdata,
+ static void emit_context_line(struct emit_callback *ecbdata,
                              const char *line, int len)
  {
        unsigned flags = WSEH_CONTEXT | ecbdata->ws_rule;
@@@ -1743,7 -1739,6 +1740,6 @@@ static void emit_rewrite_lines(struct e
                               int prefix, const char *data, int size)
  {
        const char *endp = NULL;
-       const char *reset = diff_get_color(ecb->color_diff, DIFF_RESET);
  
        while (0 < size) {
                int len;
                len = endp ? (endp - data + 1) : size;
                if (prefix != '+') {
                        ecb->lno_in_preimage++;
-                       emit_del_line(reset, ecb, data, len);
+                       emit_del_line(ecb, data, len);
                } else {
                        ecb->lno_in_postimage++;
-                       emit_add_line(reset, ecb, data, len);
+                       emit_add_line(ecb, data, len);
                }
                size -= len;
                data += len;
@@@ -2292,7 -2287,7 +2288,7 @@@ const char *diff_line_prefix(struct dif
        return msgbuf->buf;
  }
  
- static unsigned long sane_truncate_line(struct emit_callback *ecb, char *line, unsigned long len)
+ static unsigned long sane_truncate_line(char *line, unsigned long len)
  {
        const char *cp;
        unsigned long allot;
@@@ -2326,7 -2321,6 +2322,6 @@@ static void find_lno(const char *line, 
  static void fn_out_consume(void *priv, char *line, unsigned long len)
  {
        struct emit_callback *ecbdata = priv;
-       const char *reset = diff_get_color(ecbdata->color_diff, DIFF_RESET);
        struct diff_options *o = ecbdata->opt;
  
        o->found_changes = 1;
        if (line[0] == '@') {
                if (ecbdata->diff_words)
                        diff_words_flush(ecbdata);
-               len = sane_truncate_line(ecbdata, line, len);
+               len = sane_truncate_line(line, len);
                find_lno(line, ecbdata);
                emit_hunk_header(ecbdata, line, len);
                return;
        switch (line[0]) {
        case '+':
                ecbdata->lno_in_postimage++;
-               emit_add_line(reset, ecbdata, line + 1, len - 1);
+               emit_add_line(ecbdata, line + 1, len - 1);
                break;
        case '-':
                ecbdata->lno_in_preimage++;
-               emit_del_line(reset, ecbdata, line + 1, len - 1);
+               emit_del_line(ecbdata, line + 1, len - 1);
                break;
        case ' ':
                ecbdata->lno_in_postimage++;
                ecbdata->lno_in_preimage++;
-               emit_context_line(reset, ecbdata, line + 1, len - 1);
+               emit_context_line(ecbdata, line + 1, len - 1);
                break;
        default:
                /* incomplete line at the end */
@@@ -4184,7 -4178,6 +4179,6 @@@ static void run_external_diff(const cha
                              struct diff_filespec *one,
                              struct diff_filespec *two,
                              const char *xfrm_msg,
-                             int complete_rewrite,
                              struct diff_options *o)
  {
        struct argv_array argv = ARGV_ARRAY_INIT;
@@@ -4342,8 -4335,7 +4336,7 @@@ static void run_diff_cmd(const char *pg
        }
  
        if (pgm) {
-               run_external_diff(pgm, name, other, one, two, xfrm_msg,
-                                 complete_rewrite, o);
+               run_external_diff(pgm, name, other, one, two, xfrm_msg, o);
                return;
        }
        if (one && two)
@@@ -4492,8 -4484,6 +4485,8 @@@ static void run_checkdiff(struct diff_f
        builtin_checkdiff(name, other, attr_path, p->one, p->two, o);
  }
  
 +static void prep_parse_options(struct diff_options *options);
 +
  void repo_diff_setup(struct repository *r, struct diff_options *options)
  {
        memcpy(options, &default_diff_options, sizeof(*options));
  
        options->color_moved = diff_color_moved_default;
        options->color_moved_ws_handling = diff_color_moved_ws_default;
 +
 +      prep_parse_options(options);
  }
  
  void diff_setup_done(struct diff_options *options)
  
        if (!options->use_color || external_diff())
                options->color_moved = 0;
 +
 +      FREE_AND_NULL(options->parseopts);
  }
  
  static int opt_arg(const char *arg, int arg_short, const char *arg_long, int *val)
@@@ -4933,47 -4919,6 +4926,47 @@@ static int parse_objfind_opt(struct dif
        return 1;
  }
  
 +static int diff_opt_unified(const struct option *opt,
 +                          const char *arg, int unset)
 +{
 +      struct diff_options *options = opt->value;
 +      char *s;
 +
 +      BUG_ON_OPT_NEG(unset);
 +
 +      options->context = strtol(arg, &s, 10);
 +      if (*s)
 +              return error(_("%s expects a numerical value"), "--unified");
 +      enable_patch_output(&options->output_format);
 +
 +      return 0;
 +}
 +
 +static void prep_parse_options(struct diff_options *options)
 +{
 +      struct option parseopts[] = {
 +              OPT_GROUP(N_("Diff output format options")),
 +              OPT_BITOP('p', "patch", &options->output_format,
 +                        N_("generate patch"),
 +                        DIFF_FORMAT_PATCH, DIFF_FORMAT_NO_OUTPUT),
 +              OPT_BITOP('u', NULL, &options->output_format,
 +                        N_("generate patch"),
 +                        DIFF_FORMAT_PATCH, DIFF_FORMAT_NO_OUTPUT),
 +              OPT_CALLBACK_F('U', "unified", options, N_("<n>"),
 +                             N_("generate diffs with <n> lines context"),
 +                             PARSE_OPT_NONEG, diff_opt_unified),
 +              OPT_BOOL('W', "function-context", &options->flags.funccontext,
 +                       N_("generate diffs with <n> lines context")),
 +              OPT_BIT_F(0, "raw", &options->output_format,
 +                        N_("generate the diff in raw format"),
 +                        DIFF_FORMAT_RAW, PARSE_OPT_NONEG),
 +              OPT_END()
 +      };
 +
 +      ALLOC_ARRAY(options->parseopts, ARRAY_SIZE(parseopts));
 +      memcpy(options->parseopts, parseopts, sizeof(parseopts));
 +}
 +
  int diff_opt_parse(struct diff_options *options,
                   const char **av, int ac, const char *prefix)
  {
        if (!prefix)
                prefix = "";
  
 +      ac = parse_options(ac, av, prefix, options->parseopts, NULL,
 +                         PARSE_OPT_KEEP_DASHDASH |
 +                         PARSE_OPT_KEEP_UNKNOWN |
 +                         PARSE_OPT_NO_INTERNAL_HELP |
 +                         PARSE_OPT_ONE_SHOT |
 +                         PARSE_OPT_STOP_AT_NON_OPTION);
 +
 +      if (ac)
 +              return ac;
 +
        /* Output format options */
 -      if (!strcmp(arg, "-p") || !strcmp(arg, "-u") || !strcmp(arg, "--patch")
 -          || opt_arg(arg, 'U', "unified", &options->context))
 -              enable_patch_output(&options->output_format);
 -      else if (!strcmp(arg, "--raw"))
 -              options->output_format |= DIFF_FORMAT_RAW;
 -      else if (!strcmp(arg, "--patch-with-raw")) {
 +      if (!strcmp(arg, "--patch-with-raw")) {
                enable_patch_output(&options->output_format);
                options->output_format |= DIFF_FORMAT_RAW;
        } else if (!strcmp(arg, "--numstat"))
        else if (opt_arg(arg, '\0', "inter-hunk-context",
                         &options->interhunkcontext))
                ;
 -      else if (!strcmp(arg, "-W"))
 -              options->flags.funccontext = 1;
 -      else if (!strcmp(arg, "--function-context"))
 -              options->flags.funccontext = 1;
 -      else if (!strcmp(arg, "--no-function-context"))
 -              options->flags.funccontext = 0;
        else if ((argcount = parse_long_opt("output", av, &optarg))) {
                char *path = prefix_filename(prefix, optarg);
                options->file = xfopen(path, "w");
@@@ -6271,7 -6217,7 +6264,7 @@@ static int diffnamecmp(const void *a_, 
        return strcmp(name_a, name_b);
  }
  
- void diffcore_fix_diff_index(struct diff_options *options)
+ void diffcore_fix_diff_index(void)
  {
        struct diff_queue_struct *q = &diff_queued_diff;
        QSORT(q->queue, q->nr, diffnamecmp);
diff --combined diff.h
index 3199ba31f8d697d0a73f64cde12433d8f1244181,8f55aad5ba14c9b89a231b6dea242f404166c33a..0478abe07d11e4e076fdc26ef68174c50a7f6e55
--- 1/diff.h
--- 2/diff.h
+++ b/diff.h
@@@ -9,17 -9,16 +9,17 @@@
  #include "object.h"
  #include "oidset.h"
  
 -struct rev_info;
 +struct combine_diff_path;
 +struct commit;
 +struct diff_filespec;
  struct diff_options;
  struct diff_queue_struct;
 -struct strbuf;
 -struct diff_filespec;
 -struct userdiff_driver;
  struct oid_array;
 -struct commit;
 -struct combine_diff_path;
 +struct option;
  struct repository;
 +struct rev_info;
 +struct strbuf;
 +struct userdiff_driver;
  
  typedef int (*pathchange_fn_t)(struct diff_options *options,
                 struct combine_diff_path *path);
@@@ -65,39 -64,39 +65,39 @@@ typedef struct strbuf *(*diff_prefix_fn
  
  #define DIFF_FLAGS_INIT { 0 }
  struct diff_flags {
 -      unsigned recursive:1;
 -      unsigned tree_in_recursive:1;
 -      unsigned binary:1;
 -      unsigned text:1;
 -      unsigned full_index:1;
 -      unsigned silent_on_remove:1;
 -      unsigned find_copies_harder:1;
 -      unsigned follow_renames:1;
 -      unsigned rename_empty:1;
 -      unsigned has_changes:1;
 -      unsigned quick:1;
 -      unsigned no_index:1;
 -      unsigned allow_external:1;
 -      unsigned exit_with_status:1;
 -      unsigned reverse_diff:1;
 -      unsigned check_failed:1;
 -      unsigned relative_name:1;
 -      unsigned ignore_submodules:1;
 -      unsigned dirstat_cumulative:1;
 -      unsigned dirstat_by_file:1;
 -      unsigned allow_textconv:1;
 -      unsigned textconv_set_via_cmdline:1;
 -      unsigned diff_from_contents:1;
 -      unsigned dirty_submodules:1;
 -      unsigned ignore_untracked_in_submodules:1;
 -      unsigned ignore_dirty_submodules:1;
 -      unsigned override_submodule_config:1;
 -      unsigned dirstat_by_line:1;
 -      unsigned funccontext:1;
 -      unsigned default_follow_renames:1;
 -      unsigned stat_with_summary:1;
 -      unsigned suppress_diff_headers:1;
 -      unsigned dual_color_diffed_diffs:1;
 +      unsigned recursive;
 +      unsigned tree_in_recursive;
 +      unsigned binary;
 +      unsigned text;
 +      unsigned full_index;
 +      unsigned silent_on_remove;
 +      unsigned find_copies_harder;
 +      unsigned follow_renames;
 +      unsigned rename_empty;
 +      unsigned has_changes;
 +      unsigned quick;
 +      unsigned no_index;
 +      unsigned allow_external;
 +      unsigned exit_with_status;
 +      unsigned reverse_diff;
 +      unsigned check_failed;
 +      unsigned relative_name;
 +      unsigned ignore_submodules;
 +      unsigned dirstat_cumulative;
 +      unsigned dirstat_by_file;
 +      unsigned allow_textconv;
 +      unsigned textconv_set_via_cmdline;
 +      unsigned diff_from_contents;
 +      unsigned dirty_submodules;
 +      unsigned ignore_untracked_in_submodules;
 +      unsigned ignore_dirty_submodules;
 +      unsigned override_submodule_config;
 +      unsigned dirstat_by_line;
 +      unsigned funccontext;
 +      unsigned default_follow_renames;
 +      unsigned stat_with_summary;
 +      unsigned suppress_diff_headers;
 +      unsigned dual_color_diffed_diffs;
  };
  
  static inline void diff_flags_or(struct diff_flags *a,
@@@ -230,7 -229,6 +230,7 @@@ struct diff_options 
        unsigned color_moved_ws_handling;
  
        struct repository *repo;
 +      struct option *parseopts;
  };
  
  void diff_emit_submodule_del(struct diff_options *o, const char *line);
@@@ -296,7 -294,6 +296,7 @@@ struct combine_diff_path 
                char status;
                unsigned int mode;
                struct object_id oid;
 +              struct strbuf path;
        } parent[FLEX_ARRAY];
  };
  #define combine_diff_path_size(n, l) \
@@@ -370,7 -367,7 +370,7 @@@ int git_config_rename(const char *var, 
  #define DIFF_PICKAXE_IGNORE_CASE      32
  
  void diffcore_std(struct diff_options *);
- void diffcore_fix_diff_index(struct diff_options *);
+ void diffcore_fix_diff_index(void);
  
  #define COMMON_DIFF_OPTIONS_HELP \
  "\ncommon diff options:\n" \