diff options
-rw-r--r-- | src/basic/env-file.c | 8 | ||||
-rw-r--r-- | src/test/test-env-file.c | 9 |
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) { |