From 19feebc8c3ca7bd40f2f32f4f856b68b9a02870c Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Fri, 27 May 2005 15:54:37 -0700 Subject: [PATCH] Clean up diff_setup() to make it more extensible. This changes the argument of diff_setup() from an integer that says if we are feeding reversed diff to a bitmask, so that later global options can be added more easily. Signed-off-by: Junio C Hamano Signed-off-by: Linus Torvalds diff --git a/diff-cache.c b/diff-cache.c index d573459..963c628 100644 --- a/diff-cache.c +++ b/diff-cache.c @@ -5,7 +5,7 @@ static int cached_only = 0; static int diff_output_format = DIFF_FORMAT_HUMAN; static int match_nonexisting = 0; static int detect_rename = 0; -static int reverse_diff = 0; +static int diff_setup_opt = 0; static int diff_score_opt = 0; static const char *pickaxe = NULL; @@ -202,7 +202,7 @@ int main(int argc, const char **argv) continue; } if (!strcmp(arg, "-R")) { - reverse_diff = 1; + diff_setup_opt |= DIFF_SETUP_REVERSE; continue; } if (!strcmp(arg, "-S")) { @@ -224,7 +224,7 @@ int main(int argc, const char **argv) usage(diff_cache_usage); /* The rest is for paths restriction. */ - diff_setup(reverse_diff); + diff_setup(diff_setup_opt); mark_merge_entries(); diff --git a/diff-files.c b/diff-files.c index d7cfad7..c9c914b 100644 --- a/diff-files.c +++ b/diff-files.c @@ -11,7 +11,7 @@ static const char *diff_files_usage = static int diff_output_format = DIFF_FORMAT_HUMAN; static int detect_rename = 0; -static int reverse_diff = 0; +static int diff_setup_opt = 0; static int diff_score_opt = 0; static const char *pickaxe = NULL; static int silent = 0; @@ -51,7 +51,7 @@ int main(int argc, const char **argv) else if (!strcmp(argv[1], "-z")) diff_output_format = DIFF_FORMAT_MACHINE; else if (!strcmp(argv[1], "-R")) - reverse_diff = 1; + diff_setup_opt |= DIFF_SETUP_REVERSE; else if (!strcmp(argv[1], "-S")) pickaxe = argv[1] + 2; else if (!strncmp(argv[1], "-M", 2)) { @@ -75,7 +75,7 @@ int main(int argc, const char **argv) exit(1); } - diff_setup(reverse_diff); + diff_setup(diff_setup_opt); for (i = 0; i < entries; i++) { struct stat st; diff --git a/diff-tree.c b/diff-tree.c index 80d02b4..c41cdd0 100644 --- a/diff-tree.c +++ b/diff-tree.c @@ -10,7 +10,7 @@ static int show_tree_entry_in_recursive = 0; static int read_stdin = 0; static int diff_output_format = DIFF_FORMAT_HUMAN; static int detect_rename = 0; -static int reverse_diff = 0; +static int diff_setup_opt = 0; static int diff_score_opt = 0; static const char *pickaxe = NULL; static const char *header = NULL; @@ -255,7 +255,7 @@ static int diff_tree_sha1(const unsigned char *old, const unsigned char *new, co static void call_diff_setup(void) { - diff_setup(reverse_diff); + diff_setup(diff_setup_opt); } static int call_diff_flush(void) @@ -497,7 +497,7 @@ int main(int argc, const char **argv) continue; } if (!strcmp(arg, "-R")) { - reverse_diff = 1; + diff_setup_opt |= DIFF_SETUP_REVERSE; continue; } if (!strcmp(arg, "-p")) { diff --git a/diff.c b/diff.c index f15eb08..a116755 100644 --- a/diff.c +++ b/diff.c @@ -492,9 +492,10 @@ static void run_diff(const char *name, run_external_diff(pgm, name, other, one, two, xfrm_msg); } -void diff_setup(int reverse_diff_) +void diff_setup(int flags) { - reverse_diff = reverse_diff_; + if (flags & DIFF_SETUP_REVERSE) + reverse_diff = 1; } struct diff_queue_struct diff_queued_diff; diff --git a/diff.h b/diff.h index 0d1f9ae..6c25023 100644 --- a/diff.h +++ b/diff.h @@ -28,11 +28,8 @@ extern void diff_unmerge(const char *path); extern int diff_scoreopt_parse(const char *opt); -#define DIFF_FORMAT_HUMAN 0 -#define DIFF_FORMAT_MACHINE 1 -#define DIFF_FORMAT_PATCH 2 -#define DIFF_FORMAT_NO_OUTPUT 3 -extern void diff_setup(int reverse); +#define DIFF_SETUP_REVERSE 1 +extern void diff_setup(int flags); #define DIFF_DETECT_RENAME 1 #define DIFF_DETECT_COPY 2 @@ -44,6 +41,11 @@ extern void diffcore_pathspec(const char **pathspec); extern int diff_queue_is_empty(void); +#define DIFF_FORMAT_HUMAN 0 +#define DIFF_FORMAT_MACHINE 1 +#define DIFF_FORMAT_PATCH 2 +#define DIFF_FORMAT_NO_OUTPUT 3 + extern void diff_flush(int output_style, int resolve_rename_copy); #endif /* DIFF_H */ -- cgit v0.10.2-6-g49f6