mirror of
https://github.com/troglobit/finit.git
synced 2026-10-01 05:22:48 +07:00
fgetval(): handle extra separators betwee key and value
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
This commit is contained in:
+10
-3
@@ -132,9 +132,16 @@ static inline char *fgetval(char *line, const char *key, char *sep)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
ptr = strsep(&str, sep);
|
||||
if (!ptr)
|
||||
goto fail;
|
||||
/*
|
||||
* Check if we should strip optional separator, e.g.,
|
||||
* 'foo = bar' => '= bar' should be stripped to 'bar'
|
||||
*/
|
||||
while (str && strchr(sep, str[0])) {
|
||||
ptr = strsep(&str, sep);
|
||||
if (!ptr)
|
||||
goto fail;
|
||||
}
|
||||
ptr = str;
|
||||
|
||||
if (*ptr == '"' || *ptr == '\'') {
|
||||
char *end = &ptr[strlen(ptr) - 1];
|
||||
|
||||
Reference in New Issue
Block a user