]> granicus.if.org Git - cgit/commitdiff
ui-shared: generate proper links in cgit_object_link()
authorLars Hjemli <hjemli@gmail.com>
Sun, 5 Oct 2008 19:12:08 +0000 (21:12 +0200)
committerLars Hjemli <hjemli@gmail.com>
Sun, 5 Oct 2008 19:12:08 +0000 (21:12 +0200)
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
ui-shared.c

index 1e12529411133d15b0949c01f310a4318048a522..a959224251e7830cce9c329904ba776735e75c5d 100644 (file)
@@ -359,29 +359,21 @@ void cgit_patch_link(char *name, char *title, char *class, char *head,
 
 void cgit_object_link(struct object *obj)
 {
-       char *page, *arg, *url;
+       char *page, *rev, *name;
 
        if (obj->type == OBJ_COMMIT) {
                 cgit_commit_link(fmt("commit %s", sha1_to_hex(obj->sha1)), NULL, NULL,
                                 ctx.qry.head, sha1_to_hex(obj->sha1));
                return;
-       } else if (obj->type == OBJ_TREE) {
+       } else if (obj->type == OBJ_TREE)
                page = "tree";
-               arg = "id";
-       } else if (obj->type == OBJ_TAG) {
+       else if (obj->type == OBJ_TAG)
                page = "tag";
-               arg = "id";
-       } else {
+       else
                page = "blob";
-               arg = "id";
-       }
-
-       url = cgit_pageurl(ctx.qry.repo, page,
-                          fmt("%s=%s", arg, sha1_to_hex(obj->sha1)));
-       html_link_open(url, NULL, NULL);
-       htmlf("%s %s", typename(obj->type),
-             sha1_to_hex(obj->sha1));
-       html_link_close();
+       rev = sha1_to_hex(obj->sha1);
+       name = fmt("%s %s", typename(obj->type), rev);
+       reporevlink(page, name, NULL, NULL, ctx.qry.head, rev, NULL);
 }
 
 void cgit_print_date(time_t secs, char *format, int local_time)