From 5ab50417b7d51fff1c88158f0f334f42bfb5a9b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Mart=C3=ADn=20Nieto?= Date: Tue, 7 Jun 2011 22:49:13 +0200 Subject: [PATCH] Remove an unfortunate optimisation from cvar_match_section MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The (rather late) early-exit code, which provides a negligible optimisation causes cvar_match_section to return false negatives when it's called with a section name instead of a full variable name. Remove this optimisation. Signed-off-by: Carlos Martín Nieto --- src/config_file.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/config_file.c b/src/config_file.c index d76c6024d..74162d74f 100644 --- a/src/config_file.c +++ b/src/config_file.c @@ -130,7 +130,7 @@ static void cvar_list_free(cvar_t_list *list) */ static int cvar_match_section(const char *local, const char *input) { - char *first_dot, *last_dot; + char *first_dot; char *local_sp = strchr(local, ' '); int comparison_len; @@ -159,12 +159,8 @@ static int cvar_match_section(const char *local, const char *input) */ first_dot = strchr(input, '.'); - last_dot = strrchr(input, '.'); comparison_len = strlen(local_sp + 2) - 1; - if (last_dot == first_dot || last_dot - first_dot - 1 != comparison_len) - return 0; - return !strncmp(local_sp + 2, first_dot + 1, comparison_len); }