summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: e098c6f)
raw | patch | inline | side by side (parent: e098c6f)
author | Johannes Schindelin <Johannes.Schindelin@gmx.de> | |
Wed, 3 May 2006 12:41:03 +0000 (14:41 +0200) | ||
committer | Junio C Hamano <junkio@cox.net> | |
Wed, 3 May 2006 23:26:29 +0000 (16:26 -0700) |
It was rightly noticed that the logic is quite convoluted. Fix that.
Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
repo-config.c | patch | blob | history |
diff --git a/repo-config.c b/repo-config.c
index 7e06d1a041dfd04d73b54362374f246d497b690f..63eda1bb783fcb9ff72843e74383abb0f0581441 100644 (file)
--- a/repo-config.c
+++ b/repo-config.c
{
char value[256];
const char *vptr = value;
+ int dup_error = 0;
if (value_ == NULL)
value_ = "";
- if ((use_key_regexp || !strcmp(key_, key)) &&
- (!use_key_regexp ||
- !regexec(key_regexp, key_, 0, NULL, 0)) &&
- (regexp == NULL ||
+ if (!use_key_regexp && strcmp(key_, key))
+ return 0;
+ if (use_key_regexp && regexec(key_regexp, key_, 0, NULL, 0))
+ return 0;
+ if (regexp != NULL &&
(do_not_match ^
- !regexec(regexp, value_, 0, NULL, 0)))) {
- int dup_error = 0;
- if (show_keys)
- printf("%s ", key_);
- if (seen && !do_all)
- dup_error = 1;
- if (type == T_INT)
- sprintf(value, "%d", git_config_int(key_, value_));
- else if (type == T_BOOL)
- sprintf(value, "%s", git_config_bool(key_, value_)
- ? "true" : "false");
- else
- vptr = value_;
- seen++;
- if (dup_error) {
- error("More than one value for the key %s: %s",
- key_, vptr);
- }
- else
- printf("%s\n", vptr);
+ regexec(regexp, value_, 0, NULL, 0)))
+ return 0;
+
+ if (show_keys)
+ printf("%s ", key_);
+ if (seen && !do_all)
+ dup_error = 1;
+ if (type == T_INT)
+ sprintf(value, "%d", git_config_int(key_, value_));
+ else if (type == T_BOOL)
+ vptr = git_config_bool(key_, value_) ? "true" : "false";
+ else
+ vptr = value_;
+ seen++;
+ if (dup_error) {
+ error("More than one value for the key %s: %s",
+ key_, vptr);
}
+ else
+ printf("%s\n", vptr);
+
return 0;
}