config: use strbuf_split_str instead of a temporary strbuf
This saves an allocation and copy, and also fixes a minor memory leak. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
2f1d9e2b93
commit
f77bccaeba
4
config.c
4
config.c
@ -42,10 +42,8 @@ void git_config_push_parameter(const char *text)
|
|||||||
static int git_config_parse_parameter(const char *text,
|
static int git_config_parse_parameter(const char *text,
|
||||||
config_fn_t fn, void *data)
|
config_fn_t fn, void *data)
|
||||||
{
|
{
|
||||||
struct strbuf tmp = STRBUF_INIT;
|
|
||||||
struct strbuf **pair;
|
struct strbuf **pair;
|
||||||
strbuf_addstr(&tmp, text);
|
pair = strbuf_split_str(text, '=', 2);
|
||||||
pair = strbuf_split_max(&tmp, '=', 2);
|
|
||||||
if (!pair[0])
|
if (!pair[0])
|
||||||
return error("bogus config parameter: %s", text);
|
return error("bogus config parameter: %s", text);
|
||||||
if (pair[0]->len && pair[0]->buf[pair[0]->len - 1] == '=')
|
if (pair[0]->len && pair[0]->buf[pair[0]->len - 1] == '=')
|
||||||
|
Loading…
Reference in New Issue
Block a user