]> asedeno.scripts.mit.edu Git - git.git/blobdiff - builtin-tag.c
Merge branch 'ds/checkout-upper'
[git.git] / builtin-tag.c
index 566d123a8db1a3da70d261acd8cf3fdcbc2e469f..cbb0f04e85627a5509bb2ba8cbf04a54d4d20c41 100644 (file)
@@ -81,17 +81,16 @@ static int show_reference(const char *refname, const unsigned char *sha1,
                }
                printf("%-15s ", refname);
 
-               sp = buf = read_sha1_file(sha1, &type, &size);
-               if (!buf)
+               buf = read_sha1_file(sha1, &type, &size);
+               if (!buf || !size)
                        return 0;
-               if (!size) {
+
+               /* skip header */
+               sp = strstr(buf, "\n\n");
+               if (!sp) {
                        free(buf);
                        return 0;
                }
-               /* skip header */
-               while (sp + 1 < buf + size &&
-                               !(sp[0] == '\n' && sp[1] == '\n'))
-                       sp++;
                /* only take up to "lines" lines, and strip the signature */
                for (i = 0, sp += 2;
                                i < filter->lines && sp < buf + size &&