Require trailing comment to be preceded by a space or tab

Fixes `word-delimiters` option to not ignore `#` and subsequent characters.

Closes #270
This commit is contained in:
Peter Colberg 2021-01-03 14:08:25 -05:00 committed by Daniel Eklöf
parent 9c705b26ee
commit 0aa086065c
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
2 changed files with 19 additions and 3 deletions

View file

@ -1731,9 +1731,18 @@ parse_config_file(FILE *f, struct config *conf, const char *path, bool errors_ar
if (line[0] == '\0' || line[0] == '#')
continue;
/* Split up into key/value pair + trailing comment */
char *key_value = strtok(line, "#");
char UNUSED *comment = strtok(NULL, "\n");
/* Split up into key/value pair + trailing comment separated by blank */
char *key_value = line;
char *comment = line;
while (comment[0] != '\0') {
const char c = comment[0];
comment++;
if (isblank(c) && comment[0] == '#') {
comment[0] = '\0'; /* Terminate key/value pair */
comment++;
break;
}
}
/* Check for new section */
if (key_value[0] == '[') {