>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


Reply via email to