summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/basic/env-file.c8
-rw-r--r--src/test/test-env-file.c9
2 files changed, 13 insertions, 4 deletions
diff --git a/src/basic/env-file.c b/src/basic/env-file.c
index 58d7b3ec35..eb5e640494 100644
--- a/src/basic/env-file.c
+++ b/src/basic/env-file.c
@@ -243,7 +243,13 @@ static int parse_env_file_internal(
break;
case COMMENT_ESCAPE:
- state = COMMENT;
+ log_debug("The line which doesn't begin with \";\" or \"#\", but follows a comment" \
+ " line trailing with escape is now treated as a non comment line since v254.");
+ if (strchr(NEWLINE, c)) {
+ state = PRE_KEY;
+ line++;
+ } else
+ state = COMMENT;
break;
}
}
diff --git a/src/test/test-env-file.c b/src/test/test-env-file.c
index c8ec0e2278..49f108945b 100644
--- a/src/test/test-env-file.c
+++ b/src/test/test-env-file.c
@@ -31,9 +31,10 @@
#define env_file_3 \
"#SPAMD_ARGS=\"-d --socketpath=/var/lib/bulwark/spamd \\\n" \
"#--nouser-config \\\n" \
- "normal=line \\\n" \
+ "normal1=line\\\n" \
+ "111\n" \
";normal=ignored \\\n" \
- "normal_ignored \\\n" \
+ "normal2=line222\n" \
"normal ignored \\\n"
#define env_file_4 \
@@ -89,7 +90,9 @@ TEST(load_env_file_3) {
_cleanup_strv_free_ char **data = NULL;
assert_se(load_env_file(NULL, name, &data) == 0);
- assert_se(data == NULL);
+ assert_se(streq(data[0], "normal1=line111"));
+ assert_se(streq(data[1], "normal2=line222"));
+ assert_se(data[2] == NULL);
}
TEST(load_env_file_4) {