MINOR: cfgparse: visually show the input line on empty args
Now when an empty arg is found on a line, we emit the sanitized input line and the position of the first empty arg so as to help the user figure the cause (likely an empty environment variable). Co-authored-by: Valentine Krasnobaeva <vkrasnobaeva@haproxy.com>
This commit is contained in:
parent
3f2c8af313
commit
08d3caf30e
@ -2066,11 +2066,17 @@ next_line:
|
||||
}
|
||||
|
||||
for (check_arg = 0; check_arg < arg; check_arg++) {
|
||||
if (*args[check_arg])
|
||||
continue;
|
||||
ha_warning("parsing [%s:%d]: argument number %d is empty and marks the end of the argument list; all subsequent arguments will be ignored.\n",
|
||||
file, linenum, check_arg + 1);
|
||||
break;
|
||||
if (!*args[check_arg]) {
|
||||
/* if an empty arg was found, its pointer is in <errptr> */
|
||||
size_t newpos;
|
||||
|
||||
/* sanitize input line in-place */
|
||||
newpos = sanitize_for_printing(line, errptr - line, 80);
|
||||
ha_warning("parsing [%s:%d]: argument number %d at position %d is empty and marks the end of the "
|
||||
"argument list; all subsequent arguments will be ignored:\n %s\n %*s\n",
|
||||
file, linenum, check_arg + 1, (int)(errptr - thisline + 1), line, (int)(newpos+1), "^");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/* everything's OK */
|
||||
|
Loading…
x
Reference in New Issue
Block a user