author | Junio C Hamano <gitster@pobox.com> | |
Tue, 14 Feb 2012 20:57:17 +0000 (12:57 -0800) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Tue, 14 Feb 2012 20:57:17 +0000 (12:57 -0800) |
* jk/userdiff-config-simplify:
drop odd return value semantics from userdiff_config
drop odd return value semantics from userdiff_config
builtin/blame.c | patch | blob | history | |
builtin/cat-file.c | patch | blob | history | |
builtin/grep.c | patch | blob | history | |
diff.c | patch | blob | history | |
userdiff.c | patch | blob | history |
diff --git a/builtin/blame.c b/builtin/blame.c
index 5a67c202f06abeaa90a7547d78b536f7f2b9db24..01956c80815a4f330ae27b77b4d21d263a887d1b 100644 (file)
--- a/builtin/blame.c
+++ b/builtin/blame.c
return 0;
}
- switch (userdiff_config(var, value)) {
- case 0:
- break;
- case -1:
+ if (userdiff_config(var, value) < 0)
return -1;
- default:
- return 0;
- }
return git_default_config(var, value, cb);
}
diff --git a/builtin/cat-file.c b/builtin/cat-file.c
index 07bd984084fbbfbb826ef5b784fc68069675e73c..8ed501f220424976cc30f4a4dbf3d59f979902be 100644 (file)
--- a/builtin/cat-file.c
+++ b/builtin/cat-file.c
static int git_cat_file_config(const char *var, const char *value, void *cb)
{
- switch (userdiff_config(var, value)) {
- case 0:
- break;
- case -1:
+ if (userdiff_config(var, value) < 0)
return -1;
- default:
- return 0;
- }
return git_default_config(var, value, cb);
}
diff --git a/builtin/grep.c b/builtin/grep.c
index 5c2ae94e5576f2e8af1f8509b789a67851db2598..dc6de83ab7c8178fc14d9e27679cb0b22f9caba3 100644 (file)
--- a/builtin/grep.c
+++ b/builtin/grep.c
struct grep_opt *opt = cb;
char *color = NULL;
- switch (userdiff_config(var, value)) {
- case 0: break;
- case -1: return -1;
- default: return 0;
- }
+ if (userdiff_config(var, value) < 0)
+ return -1;
if (!strcmp(var, "grep.extendedregexp")) {
if (git_config_bool(var, value))
index 84780fd5e641d9f1042f82863d1290f7ad8d92b5..3550c18e390cac7a3cce8fcf93074c7178bf1994 100644 (file)
--- a/diff.c
+++ b/diff.c
return 0;
}
- switch (userdiff_config(var, value)) {
- case 0: break;
- case -1: return -1;
- default: return 0;
- }
+ if (userdiff_config(var, value) < 0)
+ return -1;
if (!prefixcmp(var, "diff.color.") || !prefixcmp(var, "color.diff.")) {
int slot = parse_diff_color_slot(var, 11);
diff --git a/userdiff.c b/userdiff.c
index 76109da4bcb7abc26ed20508692051a40e8addd7..1e7184f7f00bc75872369761116141c087fa1c1c 100644 (file)
--- a/userdiff.c
+++ b/userdiff.c
if (git_config_string(&f->pattern, k, v) < 0)
return -1;
f->cflags = cflags;
- return 1;
-}
-
-static int parse_string(const char **d, const char *k, const char *v)
-{
- if (git_config_string(d, k, v) < 0)
- return -1;
- return 1;
+ return 0;
}
static int parse_tristate(int *b, const char *k, const char *v)
*b = -1;
else
*b = git_config_bool(k, v);
- return 1;
+ return 0;
}
static int parse_bool(int *b, const char *k, const char *v)
{
*b = git_config_bool(k, v);
- return 1;
+ return 0;
}
int userdiff_config(const char *k, const char *v)
if ((drv = parse_driver(k, v, "binary")))
return parse_tristate(&drv->binary, k, v);
if ((drv = parse_driver(k, v, "command")))
- return parse_string(&drv->external, k, v);
+ return git_config_string(&drv->external, k, v);
if ((drv = parse_driver(k, v, "textconv")))
- return parse_string(&drv->textconv, k, v);
+ return git_config_string(&drv->textconv, k, v);
if ((drv = parse_driver(k, v, "cachetextconv")))
return parse_bool(&drv->textconv_want_cache, k, v);
if ((drv = parse_driver(k, v, "wordregex")))
- return parse_string(&drv->word_regex, k, v);
+ return git_config_string(&drv->word_regex, k, v);
return 0;
}