]> git.ipfire.org Git - thirdparty/git.git/commitdiff
diff.c: move the diff filter bits definitions up a bit
authorJohannes Schindelin <johannes.schindelin@gmx.de>
Fri, 28 Jan 2022 12:02:49 +0000 (12:02 +0000)
committerJunio C Hamano <gitster@pobox.com>
Fri, 28 Jan 2022 18:18:17 +0000 (10:18 -0800)
This prepares for a more careful handling of the `--diff-filter`
options over the next few commits.

This commit is best viewed with `--color-moved`.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
diff.c

diff --git a/diff.c b/diff.c
index c862771a58939f0cd2a20b2056c8d93b17c7be26..5081052c431b276af7ed4a8f898b073593febb45 100644 (file)
--- a/diff.c
+++ b/diff.c
@@ -4570,6 +4570,43 @@ void repo_diff_setup(struct repository *r, struct diff_options *options)
        prep_parse_options(options);
 }
 
+static const char diff_status_letters[] = {
+       DIFF_STATUS_ADDED,
+       DIFF_STATUS_COPIED,
+       DIFF_STATUS_DELETED,
+       DIFF_STATUS_MODIFIED,
+       DIFF_STATUS_RENAMED,
+       DIFF_STATUS_TYPE_CHANGED,
+       DIFF_STATUS_UNKNOWN,
+       DIFF_STATUS_UNMERGED,
+       DIFF_STATUS_FILTER_AON,
+       DIFF_STATUS_FILTER_BROKEN,
+       '\0',
+};
+
+static unsigned int filter_bit['Z' + 1];
+
+static void prepare_filter_bits(void)
+{
+       int i;
+
+       if (!filter_bit[DIFF_STATUS_ADDED]) {
+               for (i = 0; diff_status_letters[i]; i++)
+                       filter_bit[(int) diff_status_letters[i]] = (1 << i);
+       }
+}
+
+static unsigned filter_bit_tst(char status, const struct diff_options *opt)
+{
+       return opt->filter & filter_bit[(int) status];
+}
+
+unsigned diff_filter_bit(char status)
+{
+       prepare_filter_bits();
+       return filter_bit[(int) status];
+}
+
 void diff_setup_done(struct diff_options *options)
 {
        unsigned check_mask = DIFF_FORMAT_NAME |
@@ -4774,43 +4811,6 @@ static int parse_dirstat_opt(struct diff_options *options, const char *params)
        return 1;
 }
 
-static const char diff_status_letters[] = {
-       DIFF_STATUS_ADDED,
-       DIFF_STATUS_COPIED,
-       DIFF_STATUS_DELETED,
-       DIFF_STATUS_MODIFIED,
-       DIFF_STATUS_RENAMED,
-       DIFF_STATUS_TYPE_CHANGED,
-       DIFF_STATUS_UNKNOWN,
-       DIFF_STATUS_UNMERGED,
-       DIFF_STATUS_FILTER_AON,
-       DIFF_STATUS_FILTER_BROKEN,
-       '\0',
-};
-
-static unsigned int filter_bit['Z' + 1];
-
-static void prepare_filter_bits(void)
-{
-       int i;
-
-       if (!filter_bit[DIFF_STATUS_ADDED]) {
-               for (i = 0; diff_status_letters[i]; i++)
-                       filter_bit[(int) diff_status_letters[i]] = (1 << i);
-       }
-}
-
-static unsigned filter_bit_tst(char status, const struct diff_options *opt)
-{
-       return opt->filter & filter_bit[(int) status];
-}
-
-unsigned diff_filter_bit(char status)
-{
-       prepare_filter_bits();
-       return filter_bit[(int) status];
-}
-
 static int diff_opt_diff_filter(const struct option *option,
                                const char *optarg, int unset)
 {