Skip to content

Commit

Permalink
Merge branch 'jk/userdiff-config-simplify'
Browse files Browse the repository at this point in the history
* jk/userdiff-config-simplify:
  drop odd return value semantics from userdiff_config
  • Loading branch information
Junio C Hamano committed Feb 14, 2012
2 parents 5f90b6f + 6680a08 commit 63d37c3
Show file tree
Hide file tree
Showing 5 changed files with 12 additions and 37 deletions.
8 changes: 1 addition & 7 deletions builtin/blame.c
Original file line number Diff line number Diff line change
Expand Up @@ -2050,14 +2050,8 @@ static int git_blame_config(const char *var, const char *value, void *cb)
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);
}
Expand Down
8 changes: 1 addition & 7 deletions builtin/cat-file.c
Original file line number Diff line number Diff line change
Expand Up @@ -226,14 +226,8 @@ static const char * const cat_file_usage[] = {

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);
}
Expand Down
7 changes: 2 additions & 5 deletions builtin/grep.c
Original file line number Diff line number Diff line change
Expand Up @@ -325,11 +325,8 @@ static int grep_config(const char *var, const char *value, void *cb)
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))
Expand Down
7 changes: 2 additions & 5 deletions diff.c
Original file line number Diff line number Diff line change
Expand Up @@ -177,11 +177,8 @@ int git_diff_basic_config(const char *var, const char *value, void *cb)
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);
Expand Down
19 changes: 6 additions & 13 deletions userdiff.c
Original file line number Diff line number Diff line change
Expand Up @@ -210,14 +210,7 @@ static int parse_funcname(struct userdiff_funcname *f, const char *k,
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)
Expand All @@ -226,13 +219,13 @@ 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)
Expand All @@ -246,13 +239,13 @@ 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;
}
Expand Down

0 comments on commit 63d37c3

Please sign in to comment.