diff options
author | Linquize <linquize@yahoo.com.hk> | 2014-07-16 21:09:53 +0800 |
---|---|---|
committer | Vicent Marti <tanoku@gmail.com> | 2014-08-05 02:09:29 +0200 |
commit | 190fe0726cd918a9650c73eddcf7b407304f7b6f (patch) | |
tree | b271e1dbf7ccc0fc8ab158b2cf041953ec8d8bde | |
parent | ace6567146699af1524dcb9df397c14798be655a (diff) | |
download | libgit2-190fe0726cd918a9650c73eddcf7b407304f7b6f.tar.gz |
Make sure \n is at the end of config file before a new section is written
-rw-r--r-- | src/config_file.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/config_file.c b/src/config_file.c index 56271144..393a0b54 100644 --- a/src/config_file.c +++ b/src/config_file.c @@ -1522,6 +1522,9 @@ static int config_write(diskfile_backend *cfg, const char *key, const regex_t *p git_filebuf_write(&file, reader->buffer.ptr, reader->buffer.size); + if (reader->buffer.size > 0 && *(reader->buffer.ptr + reader->buffer.size - 1) != '\n') + git_filebuf_write(&file, "\n", 1); + /* And now if we just need to add a variable */ if (!section_matches && write_section(&file, section) < 0) goto rewrite_fail; @@ -1536,9 +1539,6 @@ static int config_write(diskfile_backend *cfg, const char *key, const regex_t *p } /* If we are here, there is at least a section line */ - if (reader->buffer.size > 0 && *(reader->buffer.ptr + reader->buffer.size - 1) != '\n') - git_filebuf_write(&file, "\n", 1); - q = quotes_for_value(value); git_filebuf_printf(&file, "\t%s = %s%s%s\n", name, q, value, q); } |