]> granicus.if.org Git - git/commitdiff
read_packed_refs: use skip_prefix instead of static array
authorJeff King <peff@peff.net>
Wed, 10 Dec 2014 10:40:36 +0000 (05:40 -0500)
committerJunio C Hamano <gitster@pobox.com>
Wed, 10 Dec 2014 17:40:33 +0000 (09:40 -0800)
We want to recognize the packed-refs header and skip to the
"traits" part of the line. We currently do it by feeding
sizeof() a static const array to strncmp. However, it's a
bit simpler to just skip_prefix, which expresses the
intention more directly, and without remembering to account
for the NUL-terminator in each sizeof() call.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
refs.c

diff --git a/refs.c b/refs.c
index 047353ea1ff63daaeb04475d05515fb9bbbe7c39..ba3003ffd2bd63a1741771e63ed296de69f4e607 100644 (file)
--- a/refs.c
+++ b/refs.c
@@ -1040,10 +1040,9 @@ static void read_packed_refs(FILE *f, struct ref_dir *dir)
        while (strbuf_getwholeline(&line, f, '\n') != EOF) {
                unsigned char sha1[20];
                const char *refname;
-               static const char header[] = "# pack-refs with:";
+               const char *traits;
 
-               if (!strncmp(line.buf, header, sizeof(header)-1)) {
-                       const char *traits = line.buf + sizeof(header) - 1;
+               if (skip_prefix(line.buf, "# pack-refs with:", &traits)) {
                        if (strstr(traits, " fully-peeled "))
                                peeled = PEELED_FULLY;
                        else if (strstr(traits, " peeled "))