aboutsummaryrefslogtreecommitdiff
path: root/src/common
diff options
context:
space:
mode:
Diffstat (limited to 'src/common')
-rw-r--r--src/common/util.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/common/util.c b/src/common/util.c
index 904fd82239..abb2753c6e 100644
--- a/src/common/util.c
+++ b/src/common/util.c
@@ -2285,15 +2285,17 @@ const char *
parse_config_line_from_str(const char *line, char **key_out, char **value_out)
{
/* I believe the file format here is supposed to be:
- FILE = (EMPTYLINE | LINE)*
+ FILE = (EMPTYLINE | LINE)* (EMPTYLASTLINE | LASTLINE)?
- EMPTYLINE = SPACE* NL | COMMENT NL
+ EMPTYLASTLINE = SPACE* | COMMENT
+ EMPTYLINE = EMPTYLASTLINE NL
SPACE = ' ' | '\r' | '\t'
COMMENT = '#' NOT-NL*
NOT-NL = Any character except '\n'
NL = '\n'
- LINE = SPACE* KEY SPACE* VALUES NL
+ LASTLINE = SPACE* KEY SPACE* VALUES
+ LINE = LASTLINE NL
KEY = KEYCHAR+
KEYCHAR = Any character except ' ', '\r', '\n', '\t', '#', "\"