diff options
author | Lars Hjemli <hjemli@gmail.com> | 2008-10-05 21:12:08 +0200 |
---|---|---|
committer | Lars Hjemli <hjemli@gmail.com> | 2008-10-05 21:12:08 +0200 |
commit | 8b5fc6de036cf159ffa61a55158044749bd6f4d9 (patch) | |
tree | c1accdd309b0af0f17fd97e91b8980185db79b21 | |
parent | 2e884f3162771880a2a5260713d6b7d1aa25bc6f (diff) | |
download | cgit-8b5fc6de036cf159ffa61a55158044749bd6f4d9.tar.gz cgit-8b5fc6de036cf159ffa61a55158044749bd6f4d9.tar.bz2 |
ui-shared: generate proper links in cgit_object_link()
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
-rw-r--r-- | ui-shared.c | 22 |
1 files changed, 7 insertions, 15 deletions
diff --git a/ui-shared.c b/ui-shared.c index 1e12529..a959224 100644 --- a/ui-shared.c +++ b/ui-shared.c @@ -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) |