resolve_ref(): extract a function get_packed_ref()
[gitweb.git] / color.c
diff --git a/color.c b/color.c
index 85864176a6ff143dea5602040bd9b89078f24bb1..e8e26818b3b1f2ffce1374e2edf88b40c575c3dd 100644 (file)
--- a/color.c
+++ b/color.c
@@ -1,7 +1,7 @@
 #include "cache.h"
 #include "color.h"
 
-int git_use_color_default = 0;
+static int git_use_color_default = 0;
 int color_stdout_is_tty = -1;
 
 /*
@@ -196,21 +196,32 @@ int want_color(int var)
 {
        static int want_auto = -1;
 
+       if (var < 0)
+               var = git_use_color_default;
+
        if (var == GIT_COLOR_AUTO) {
                if (want_auto < 0)
                        want_auto = check_auto_color();
                return want_auto;
        }
-       return var > 0;
+       return var;
 }
 
-int git_color_default_config(const char *var, const char *value, void *cb)
+int git_color_config(const char *var, const char *value, void *cb)
 {
        if (!strcmp(var, "color.ui")) {
                git_use_color_default = git_config_colorbool(var, value);
                return 0;
        }
 
+       return 0;
+}
+
+int git_color_default_config(const char *var, const char *value, void *cb)
+{
+       if (git_color_config(var, value, cb) < 0)
+               return -1;
+
        return git_default_config(var, value, cb);
 }