aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/starter/parser/lexer.l2
-rw-r--r--src/starter/tests/suites/test_parser.c3
2 files changed, 4 insertions, 1 deletions
diff --git a/src/starter/parser/lexer.l b/src/starter/parser/lexer.l
index 22ad6177e..a88cbe809 100644
--- a/src/starter/parser/lexer.l
+++ b/src/starter/parser/lexer.l
@@ -79,7 +79,7 @@ static void include_files(parser_helper_t *ctx);
yy_push_state(str, yyscanner);
}
-[^\"#= \t\n]+ {
+(@#)?[^\"#= \t\n]+ {
yylval->s = strdup(yytext);
return STRING;
}
diff --git a/src/starter/tests/suites/test_parser.c b/src/starter/tests/suites/test_parser.c
index 84b5eedc8..684bc2a27 100644
--- a/src/starter/tests/suites/test_parser.c
+++ b/src/starter/tests/suites/test_parser.c
@@ -224,6 +224,9 @@ static struct {
{ "conn foo # asdf\n\tkey=val", TRUE, "val" },
{ "conn foo # asdf\n#\tkey=val", TRUE, NULL },
{ "conn foo # asdf\n\t#key=val", TRUE, NULL },
+ { "conn foo # asdf\n\tkey=@#keyid", TRUE, "@#keyid" },
+ { "conn foo # asdf\n\tkey=\"@#keyid\"", TRUE, "@#keyid" },
+ { "conn foo # asdf\n\tkey=asdf@#keyid", TRUE, "asdf@" },
{ "conn foo # asdf\n\tkey=#val", TRUE, NULL },
{ "conn foo # asdf\n\tkey=val#asdf", TRUE, "val" },
{ "conn foo # asdf\n\tkey=\"val#asdf\"", TRUE, "val#asdf" },