[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.
(cherry picked from commit c438242878)
This commit is contained in:
Willy Tarreau 2009-12-06 13:10:44 +01:00
parent f175a6d6b1
commit d289240085
1 changed files with 9 additions and 1 deletions

View File

@ -543,7 +543,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)