diff options
author | Michael Haggerty <mhagger@alum.mit.edu> | 2018-01-24 12:14:12 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2018-01-24 12:55:26 -0800 |
commit | 27a41841ec7f83b3b1078c400f149bc536e796a4 (patch) | |
tree | 9663160e3ddc11a66c54d68ba0df9ff0326dbfa7 | |
parent | struct snapshot: store `start` rather than `header_len` (diff) | |
download | tgif-27a41841ec7f83b3b1078c400f149bc536e796a4.tar.xz |
create_snapshot(): use `xmemdupz()` rather than a strbuf
It's lighter weight.
Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | refs/packed-backend.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/refs/packed-backend.c b/refs/packed-backend.c index 26b890118c..8beb99652f 100644 --- a/refs/packed-backend.c +++ b/refs/packed-backend.c @@ -620,8 +620,7 @@ static struct snapshot *create_snapshot(struct packed_ref_store *refs) /* If the file has a header line, process it: */ if (snapshot->buf < snapshot->eof && *snapshot->buf == '#') { - struct strbuf tmp = STRBUF_INIT; - char *p, *eol; + char *tmp, *p, *eol; struct string_list traits = STRING_LIST_INIT_NODUP; eol = memchr(snapshot->buf, '\n', @@ -631,9 +630,9 @@ static struct snapshot *create_snapshot(struct packed_ref_store *refs) snapshot->buf, snapshot->eof - snapshot->buf); - strbuf_add(&tmp, snapshot->buf, eol - snapshot->buf); + tmp = xmemdupz(snapshot->buf, eol - snapshot->buf); - if (!skip_prefix(tmp.buf, "# pack-refs with:", (const char **)&p)) + if (!skip_prefix(tmp, "# pack-refs with:", (const char **)&p)) die_invalid_line(refs->path, snapshot->buf, snapshot->eof - snapshot->buf); @@ -653,7 +652,7 @@ static struct snapshot *create_snapshot(struct packed_ref_store *refs) snapshot->start = eol + 1; string_list_clear(&traits, 0); - strbuf_release(&tmp); + free(tmp); } verify_buffer_safe(snapshot); |