diff options
author | Junio C Hamano <gitster@pobox.com> | 2007-11-09 21:13:46 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2007-11-09 21:13:46 -0800 |
commit | 0d9d89f61c58f72d96585a61defb0634873c38ac (patch) | |
tree | fcb314481bb669dcf1f33ba3934786c1dcc51b12 /builtin-tag.c | |
parent | 14965530727e967806a5c62d7c826104baaec3c0 (diff) | |
parent | c238dad407aec1ccf6e364f9c95e10e7f84eac8f (diff) | |
download | git-0d9d89f61c58f72d96585a61defb0634873c38ac.tar.gz git-0d9d89f61c58f72d96585a61defb0634873c38ac.tar.xz |
Merge master into aw/mirror-push
Diffstat (limited to 'builtin-tag.c')
-rw-r--r-- | builtin-tag.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/builtin-tag.c b/builtin-tag.c index 66e5a5830..4aca3dc79 100644 --- a/builtin-tag.c +++ b/builtin-tag.c @@ -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 && |