diff options
author | Jeff King <peff@peff.net> | 2011-08-17 22:03:48 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2011-08-18 14:48:29 -0700 |
commit | e269eb7946d0a4ba6a4e175133b5479446ac04a5 (patch) | |
tree | 65da98cebb4776458fa7944ba7101c2f4149f1f7 /builtin/config.c | |
parent | f1c9626105d5e4962a5ccaa4620114d03f32ad02 (diff) | |
download | git-e269eb7946d0a4ba6a4e175133b5479446ac04a5.tar.gz git-e269eb7946d0a4ba6a4e175133b5479446ac04a5.tar.xz |
git_config_colorbool: refactor stdout_is_tty handling
Usually this function figures out for itself whether stdout
is a tty. However, it has an extra parameter just to allow
git-config to override the auto-detection for its
--get-colorbool option.
Instead of an extra parameter, let's just use a global
variable. This makes calling easier in the common case, and
will make refactoring the colorbool code much simpler.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/config.c')
-rw-r--r-- | builtin/config.c | 23 |
1 files changed, 7 insertions, 16 deletions
diff --git a/builtin/config.c b/builtin/config.c index 211e118d5..5505ced8c 100644 --- a/builtin/config.c +++ b/builtin/config.c @@ -303,24 +303,17 @@ static void get_color(const char *def_color) fputs(parsed_color, stdout); } -static int stdout_is_tty; static int get_colorbool_found; static int get_diff_color_found; static int git_get_colorbool_config(const char *var, const char *value, void *cb) { - if (!strcmp(var, get_colorbool_slot)) { - get_colorbool_found = - git_config_colorbool(var, value, stdout_is_tty); - } - if (!strcmp(var, "diff.color")) { - get_diff_color_found = - git_config_colorbool(var, value, stdout_is_tty); - } - if (!strcmp(var, "color.ui")) { - git_use_color_default = git_config_colorbool(var, value, stdout_is_tty); - return 0; - } + if (!strcmp(var, get_colorbool_slot)) + get_colorbool_found = git_config_colorbool(var, value); + else if (!strcmp(var, "diff.color")) + get_diff_color_found = git_config_colorbool(var, value); + else if (!strcmp(var, "color.ui")) + git_use_color_default = git_config_colorbool(var, value); return 0; } @@ -510,9 +503,7 @@ int cmd_config(int argc, const char **argv, const char *prefix) } else if (actions == ACTION_GET_COLORBOOL) { if (argc == 1) - stdout_is_tty = git_config_bool("command line", argv[0]); - else if (argc == 0) - stdout_is_tty = isatty(1); + color_stdout_is_tty = git_config_bool("command line", argv[0]); return get_colorbool(argc != 0); } |