From 41d21e460fc0455c01577ea5d88d89fdfe216a10 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Mon, 9 Dec 2013 08:19:04 +0100 Subject: parseconfig: warn if unquoted white spaces are detected Commit 0db811b6 made some existing config files pass on unexpected values to libcurl that made it somewhat hard to track down what was really going on. This code detects unquoted white spaces in the parameter when parsing a config file as that would be one symptom and it is generally a bad syntax anyway. --- src/tool_parsecfg.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/tool_parsecfg.c b/src/tool_parsecfg.c index 4d5145bcc..71be83d71 100644 --- a/src/tool_parsecfg.c +++ b/src/tool_parsecfg.c @@ -188,6 +188,24 @@ int parseconfig(const char *filename, while(*line && !ISSPACE(*line)) line++; *line = '\0'; /* zero terminate */ + + /* to detect mistakes better, see if there's data following */ + line++; + /* pass all spaces */ + while(*line && ISSPACE(*line)) + line++; + + switch(*line) { + case '\0': + case '\r': + case '\n': + case '#': /* comment */ + break; + default: + warnf(config, "%s:%d: warning: '%s' uses unquoted white space in the" + " line that may cause side-effects!\n", + filename, lineno, option); + } } if(param && !*param) { -- cgit v1.2.3