diff options
author | Lars Hjemli <hjemli@gmail.com> | 2007-10-28 23:36:18 (JST) |
---|---|---|
committer | Lars Hjemli <hjemli@gmail.com> | 2007-10-28 23:38:19 (JST) |
commit | cbcdbcf2bff23113fe81df8f11fe7843b8ed637e (patch) | |
tree | 1c434e9005aa946daa8f7aa49a9c9f3656349068 | |
parent | 68ca032dbe7379f78775fb03ef34a9ad2abc409f (diff) | |
download | cgit-cbcdbcf2bff23113fe81df8f11fe7843b8ed637e.zip cgit-cbcdbcf2bff23113fe81df8f11fe7843b8ed637e.tar.gz |
Make print_branch() handle refs not pointing at commits
The master branch of stable/linux-2.6.20 currently references a tag
object, which makes print_branch() die with a segfault. This teaches
print_branch() to handle such cases more gracefully.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
-rw-r--r-- | ui-summary.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/ui-summary.c b/ui-summary.c index 04a466a..ba90510 100644 --- a/ui-summary.c +++ b/ui-summary.c | |||
@@ -58,11 +58,17 @@ static int print_branch(struct refinfo *ref) | |||
58 | html("<tr><td>"); | 58 | html("<tr><td>"); |
59 | cgit_log_link(name, NULL, NULL, name, NULL, NULL, 0); | 59 | cgit_log_link(name, NULL, NULL, name, NULL, NULL, 0); |
60 | html("</td><td>"); | 60 | html("</td><td>"); |
61 | cgit_print_age(info->commit->date, -1, NULL); | 61 | |
62 | html("</td><td>"); | 62 | if (ref->object->type == OBJ_COMMIT) { |
63 | html_txt(info->author); | 63 | cgit_print_age(info->commit->date, -1, NULL); |
64 | html("</td><td>"); | 64 | html("</td><td>"); |
65 | cgit_commit_link(info->subject, NULL, NULL, name, NULL); | 65 | html_txt(info->author); |
66 | html("</td><td>"); | ||
67 | cgit_commit_link(info->subject, NULL, NULL, name, NULL); | ||
68 | } else { | ||
69 | html("</td><td></td><td>"); | ||
70 | cgit_object_link(ref->object); | ||
71 | } | ||
66 | html("</td></tr>\n"); | 72 | html("</td></tr>\n"); |
67 | return 0; | 73 | return 0; |
68 | } | 74 | } |