config: create a function to format section headers

Factor out the logic which creates section headers in the config file,
e.g. the 'branch.foo' key will be turned into '[branch "foo"]'.

This introduces no function changes, but is needed for a later change
which adds support for copying branch sections in the config file.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Ramsay Jones <ramsay@ramsayjones.plus.com>
Signed-off-by: Sahil Dua <sahildua2305@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Sahil Dua 2017-06-18 23:16:31 +02:00 коммит произвёл Junio C Hamano
Родитель 41dd4330a1
Коммит 5463caab15
1 изменённых файлов: 11 добавлений и 2 удалений

Просмотреть файл

@ -2169,10 +2169,10 @@ static int write_error(const char *filename)
return 4; return 4;
} }
static int store_write_section(int fd, const char *key) static struct strbuf store_create_section(const char *key)
{ {
const char *dot; const char *dot;
int i, success; int i;
struct strbuf sb = STRBUF_INIT; struct strbuf sb = STRBUF_INIT;
dot = memchr(key, '.', store.baselen); dot = memchr(key, '.', store.baselen);
@ -2188,6 +2188,15 @@ static int store_write_section(int fd, const char *key)
strbuf_addf(&sb, "[%.*s]\n", store.baselen, key); strbuf_addf(&sb, "[%.*s]\n", store.baselen, key);
} }
return sb;
}
static int store_write_section(int fd, const char *key)
{
int success;
struct strbuf sb = store_create_section(key);
success = write_in_full(fd, sb.buf, sb.len) == sb.len; success = write_in_full(fd, sb.buf, sb.len) == sb.len;
strbuf_release(&sb); strbuf_release(&sb);