summaryrefslogtreecommitdiffabout
path: root/ui-summary.c
Unidiff
Diffstat (limited to 'ui-summary.c') (more/less context) (ignore whitespace changes)
-rw-r--r--ui-summary.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/ui-summary.c b/ui-summary.c
index b99ea98..e7158cc 100644
--- a/ui-summary.c
+++ b/ui-summary.c
@@ -35,3 +35,3 @@ static int cgit_print_branch_cb(const char *refname, const unsigned char *sha1,
35 url = cgit_pageurl(cgit_query_repo, "commit", 35 url = cgit_pageurl(cgit_query_repo, "commit",
36 fmt("id=%s", sha1_to_hex(sha1))); 36 fmt("h=%s", sha1_to_hex(sha1)));
37 html_link_open(url, NULL, NULL); 37 html_link_open(url, NULL, NULL);
@@ -54,13 +54,17 @@ static void cgit_print_object_ref(struct object *obj)
54{ 54{
55 char *page, *url; 55 char *page, *arg, *url;
56 56
57 if (obj->type == OBJ_COMMIT) 57 if (obj->type == OBJ_COMMIT) {
58 page = "commit"; 58 page = "commit";
59 else if (obj->type == OBJ_TREE) 59 arg = "h";
60 } else if (obj->type == OBJ_TREE) {
60 page = "tree"; 61 page = "tree";
61 else 62 arg = "id";
63 } else {
62 page = "view"; 64 page = "view";
65 arg = "id";
66 }
63 67
64 url = cgit_pageurl(cgit_query_repo, page, 68 url = cgit_pageurl(cgit_query_repo, page,
65 fmt("id=%s", sha1_to_hex(obj->sha1))); 69 fmt("%s=%s", arg, sha1_to_hex(obj->sha1)));
66 html_link_open(url, NULL, NULL); 70 html_link_open(url, NULL, NULL);