>From 0d95cf9f607de59487c644af3077be1a84eb4b81 Mon Sep 17 00:00:00 2001 From: Krzysztof Piotr Oledzki <o...@ans.pl> Date: Wed, 6 Jan 2010 16:25:05 +0100 Subject: [BUG] cfgparser/stats: fix error message
Fix the error message by unification and goto, previously we had two independent lists of supported keywords and were raporting 'stats' instead of a wrong keyword. Code: stats wrong-keyword stats Before: [ALERT] 005/163032 (27175) : parsing [haproxy.cfg:248] : unknown stats parameter 'stats' (expects 'hide-version', 'uri', 'realm', 'auth' or 'enable'). [ALERT] 005/163032 (27175) : parsing [haproxy.cfg:249] : 'stats' expects 'uri', 'realm', 'auth', 'scope' or 'enable', 'hide-version', 'show-node', 'show-desc', 'show-legends'. After: [ALERT] 005/162841 (22710) : parsing [haproxy.cfg:248]: unknown stats parameter 'wrong-keyword', expects 'uri', 'realm', 'auth', 'scope', 'enable', 'hide-version', 'show-node', 'show-desc' or 'show-legends'. [ALERT] 005/162841 (22710) : parsing [haproxy.cfg:249]: missing keyword in 'stats', expects 'uri', 'realm', 'auth', 'scope', 'enable', 'hide-version', 'show-node', 'show-desc' or 'show-legends'. --- src/cfgparse.c | 11 +++++------ 1 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/cfgparse.c b/src/cfgparse.c index c0d6dfe..f3cfc61 100644 --- a/src/cfgparse.c +++ b/src/cfgparse.c @@ -1978,10 +1978,8 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm) if (curproxy != &defproxy && curproxy->uri_auth == defproxy.uri_auth) curproxy->uri_auth = NULL; /* we must detach from the default config */ - if (*(args[1]) == 0) { - Alert("parsing [%s:%d] : '%s' expects 'uri', 'realm', 'auth', 'scope' or 'enable', 'hide-version', 'show-node', 'show-desc', 'show-legends'.\n", file, linenum, args[0]); - err_code |= ERR_ALERT | ERR_FATAL; - goto out; + if (!*args[1]) { + goto stats_error_parsing; } else if (!strcmp(args[1], "uri")) { if (*(args[2]) == 0) { Alert("parsing [%s:%d] : 'uri' needs an URI prefix.\n", file, linenum); @@ -2110,8 +2108,9 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm) free(desc); } } else { - Alert("parsing [%s:%d] : unknown stats parameter '%s' (expects 'hide-version', 'uri', 'realm', 'auth' or 'enable').\n", - file, linenum, args[0]); +stats_error_parsing: + Alert("parsing [%s:%d]: %s '%s', expects 'uri', 'realm', 'auth', 'scope', 'enable', 'hide-version', 'show-node', 'show-desc' or 'show-legends'.\n", + file, linenum, *args[1]?"unknown stats parameter":"missing keyword in", args[*args[1]?1:0]); err_code |= ERR_ALERT | ERR_FATAL; goto out; } -- 1.6.4.2