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

View File

@ -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)