]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
[BUG] cfgparser/stats: fix error message
authorKrzysztof Piotr Oledzki <ole@ans.pl>
Wed, 6 Jan 2010 15:25:05 +0000 (16:25 +0100)
committerWilly Tarreau <w@1wt.eu>
Wed, 6 Jan 2010 23:34:27 +0000 (00:34 +0100)
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

index c0d6dfef5a57f2e5a73cad504f4d3dfad55391b7..893e16e936e14f1d8f6e7f2ad9747f851e96093c 100644 (file)
@@ -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;
                }