summaryrefslogtreecommitdiff
path: root/src/config.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/config.cpp')
-rw-r--r--src/config.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/config.cpp b/src/config.cpp
index 0ec4fb34e..a5e07596d 100644
--- a/src/config.cpp
+++ b/src/config.cpp
@@ -1694,9 +1694,7 @@ void ServerConfig::LoadConf(ConfigurationFile &file)
// Terminate word
in_word = false;
}
- else if (!in_word && ch == ';')
- ;
- else if (ch == '}')
+ else if (ch == ';' || ch == '}')
;
else
{
@@ -1711,6 +1709,12 @@ void ServerConfig::LoadConf(ConfigurationFile &file)
if (ch == ';' || ch == '}' || c + 1 == len)
{
+ bool eol = c + 1 == len;
+
+ if (!eol && in_quote)
+ // Allow ; and } in quoted strings
+ continue;
+
if (in_quote)
{
// Quotes can span multiple lines; all we need to do is go to the next line without clearing things