diff options
author | Vicent Marti <vicent@github.com> | 2014-08-09 12:24:02 +0200 |
---|---|---|
committer | Vicent Marti <vicent@github.com> | 2014-08-09 12:24:02 +0200 |
commit | 59403f1ff55346c64bfaa0744ea7f3375da71725 (patch) | |
tree | 931ad3d194ae82be8fecb861a514ef8c912bef33 | |
parent | bb9e6028b8ec54c01b35f838e8eca7c81d4b751a (diff) | |
parent | 9dac1f957945f706f3f557ff0b964f3d33d761b4 (diff) | |
download | libgit2-59403f1ff55346c64bfaa0744ea7f3375da71725.tar.gz |
Merge pull request #2509 from libgit2/cmn/immediate-multiline
config: a multiline var can start immediately
-rw-r--r-- | src/config_file.c | 2 | ||||
-rw-r--r-- | tests/config/stress.c | 13 |
2 files changed, 14 insertions, 1 deletions
diff --git a/src/config_file.c b/src/config_file.c index 393a0b547..7106f18db 100644 --- a/src/config_file.c +++ b/src/config_file.c @@ -1649,7 +1649,7 @@ static int is_multiline_var(const char *str) } /* An odd number means last backslash wasn't escaped, so it's multiline */ - return (end > str) && (count & 1); + return count & 1; } static int parse_multiline_variable(struct reader *reader, git_buf *value, int in_quotes) diff --git a/tests/config/stress.c b/tests/config/stress.c index eeca54ff4..488915e79 100644 --- a/tests/config/stress.c +++ b/tests/config/stress.c @@ -90,3 +90,16 @@ void test_config_stress__trailing_backslash(void) cl_assert_equal_s(path, str); git_config_free(config); } + +void test_config_stress__complex(void) +{ + git_config *config; + const char *str; + const char *path = "./config-immediate-multiline"; + + cl_git_mkfile(path, "[imm]\n multi = \"\\\nfoo\""); + cl_git_pass(git_config_open_ondisk(&config, path)); + cl_git_pass(git_config_get_string(&str, config, "imm.multi")); + cl_assert_equal_s(str, "foo"); + git_config_free(config); +} |