From: Willy Tarreau Date: Sun, 6 Dec 2009 12:10:44 +0000 (+0100) Subject: [BUG] config: fix error message when config file is not found X-Git-Tag: v1.4-dev5~68 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c438242878c8bdabffaef62dd2859920cc3e7d26;p=thirdparty%2Fhaproxy.git [BUG] config: fix error message when config file is not found Cameron Simpson reported an annoying case where haproxy simply reports "Error(s) found in configuration file" when the file is not found or not readable. Fortunately the parsing function still returns -1 in case of open error, so we're able to detect the issue from the caller and report the corresponding errno message. --- diff --git a/src/haproxy.c b/src/haproxy.c index 43aee22a5f..c5558ca40d 100644 --- a/src/haproxy.c +++ b/src/haproxy.c @@ -541,7 +541,15 @@ void init(int argc, char **argv) init_default_instance(); for (i = 0; i < cfg_nbcfgfiles; i++) { - err_code |= readcfgfile(cfg_cfgfile[i]); + int ret; + + ret = readcfgfile(cfg_cfgfile[i]); + if (ret == -1) { + Alert("Could not open configuration file %s : %s\n", + cfg_cfgfile[i], strerror(errno)); + exit(1); + } + err_code |= ret; if (err_code & (ERR_ABORT|ERR_FATAL)) Alert("Error(s) found in configuration file : %s\n", cfg_cfgfile[i]); if (err_code & ERR_ABORT)