diff options
Diffstat (limited to 'ui-shared.c')
-rw-r--r-- | ui-shared.c | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/ui-shared.c b/ui-shared.c index 315dedb..07c78a5 100644 --- a/ui-shared.c +++ b/ui-shared.c | |||
@@ -1,6 +1,6 @@ | |||
1 | /* ui-shared.c: common web output functions | 1 | /* ui-shared.c: common web output functions |
2 | * | 2 | * |
3 | * Copyright (C) 2006-2014 cgit Development Team <cgit@lists.zx2c4.com> | 3 | * Copyright (C) 2006-2017 cgit Development Team <cgit@lists.zx2c4.com> |
4 | * | 4 | * |
5 | * Licensed under GNU General Public License v2 | 5 | * Licensed under GNU General Public License v2 |
6 | * (see COPYING for full license text) | 6 | * (see COPYING for full license text) |
@@ -304,6 +304,12 @@ void cgit_plain_link(const char *name, const char *title, const char *class, | |||
304 | reporevlink("plain", name, title, class, head, rev, path); | 304 | reporevlink("plain", name, title, class, head, rev, path); |
305 | } | 305 | } |
306 | 306 | ||
307 | void cgit_blame_link(const char *name, const char *title, const char *class, | ||
308 | const char *head, const char *rev, const char *path) | ||
309 | { | ||
310 | reporevlink("blame", name, title, class, head, rev, path); | ||
311 | } | ||
312 | |||
307 | void cgit_log_link(const char *name, const char *title, const char *class, | 313 | void cgit_log_link(const char *name, const char *title, const char *class, |
308 | const char *head, const char *rev, const char *path, | 314 | const char *head, const char *rev, const char *path, |
309 | int ofs, const char *grep, const char *pattern, int showmsg, | 315 | int ofs, const char *grep, const char *pattern, int showmsg, |
@@ -478,6 +484,10 @@ static void cgit_self_link(char *name, const char *title, const char *class) | |||
478 | cgit_plain_link(name, title, class, ctx.qry.head, | 484 | cgit_plain_link(name, title, class, ctx.qry.head, |
479 | ctx.qry.has_sha1 ? ctx.qry.sha1 : NULL, | 485 | ctx.qry.has_sha1 ? ctx.qry.sha1 : NULL, |
480 | ctx.qry.path); | 486 | ctx.qry.path); |
487 | else if (!strcmp(ctx.qry.page, "blame")) | ||
488 | cgit_blame_link(name, title, class, ctx.qry.head, | ||
489 | ctx.qry.has_sha1 ? ctx.qry.sha1 : NULL, | ||
490 | ctx.qry.path); | ||
481 | else if (!strcmp(ctx.qry.page, "log")) | 491 | else if (!strcmp(ctx.qry.page, "log")) |
482 | cgit_log_link(name, title, class, ctx.qry.head, | 492 | cgit_log_link(name, title, class, ctx.qry.head, |
483 | ctx.qry.has_sha1 ? ctx.qry.sha1 : NULL, | 493 | ctx.qry.has_sha1 ? ctx.qry.sha1 : NULL, |
@@ -983,8 +993,12 @@ void cgit_print_pageheader(void) | |||
983 | cgit_log_link("log", NULL, hc("log"), ctx.qry.head, | 993 | cgit_log_link("log", NULL, hc("log"), ctx.qry.head, |
984 | NULL, ctx.qry.vpath, 0, NULL, NULL, | 994 | NULL, ctx.qry.vpath, 0, NULL, NULL, |
985 | ctx.qry.showmsg, ctx.qry.follow); | 995 | ctx.qry.showmsg, ctx.qry.follow); |
986 | cgit_tree_link("tree", NULL, hc("tree"), ctx.qry.head, | 996 | if (ctx.qry.page && !strcmp(ctx.qry.page, "blame")) |
987 | ctx.qry.sha1, ctx.qry.vpath); | 997 | cgit_blame_link("blame", NULL, hc("blame"), ctx.qry.head, |
998 | ctx.qry.sha1, ctx.qry.vpath); | ||
999 | else | ||
1000 | cgit_tree_link("tree", NULL, hc("tree"), ctx.qry.head, | ||
1001 | ctx.qry.sha1, ctx.qry.vpath); | ||
988 | cgit_commit_link("commit", NULL, hc("commit"), | 1002 | cgit_commit_link("commit", NULL, hc("commit"), |
989 | ctx.qry.head, ctx.qry.sha1, ctx.qry.vpath); | 1003 | ctx.qry.head, ctx.qry.sha1, ctx.qry.vpath); |
990 | cgit_diff_link("diff", NULL, hc("diff"), ctx.qry.head, | 1004 | cgit_diff_link("diff", NULL, hc("diff"), ctx.qry.head, |