aboutsummaryrefslogtreecommitdiffstats
path: root/ui-shared.c
diff options
context:
space:
mode:
authorLars Hjemli <hjemli@gmail.com>2007-06-29 20:27:41 +0200
committerLars Hjemli <hjemli@gmail.com>2007-06-29 20:31:00 +0200
commit103940fe6b0914dc42b8b033d1d328f38135ca5f (patch)
tree2bc9c831dc5158032e68e065519e7ee243b6731d /ui-shared.c
parent382805ee83b6e6f165159312a9fe20e3971897b6 (diff)
downloadcgit-103940fe6b0914dc42b8b033d1d328f38135ca5f.tar.gz
cgit-103940fe6b0914dc42b8b033d1d328f38135ca5f.tar.xz
Add ofs argument to cgit_log_link and use it in ui-log.c
This fixes a bug in the prev/next links on the log page: when on the default branch the links to prev/next page would contain h=(null). Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Diffstat (limited to 'ui-shared.c')
-rw-r--r--ui-shared.c22
1 files changed, 19 insertions, 3 deletions
diff --git a/ui-shared.c b/ui-shared.c
index 64c237f..bfcc2ac 100644
--- a/ui-shared.c
+++ b/ui-shared.c
@@ -163,9 +163,25 @@ void cgit_tree_link(char *name, char *title, char *class, char *head,
}
void cgit_log_link(char *name, char *title, char *class, char *head,
- char *rev, char *path)
+ char *rev, char *path, int ofs)
{
- reporevlink("log", name, title, class, head, rev, path);
+ char *delim;
+
+ delim = repolink(title, class, "log", head, path);
+ if (rev && strcmp(rev, cgit_query_head)) {
+ html(delim);
+ html("id=");
+ html_attr(rev);
+ delim = "&";
+ }
+ if (ofs > 0) {
+ html(delim);
+ html("ofs=");
+ htmlf("%d", ofs);
+ }
+ html("'>");
+ html_txt(name);
+ html("</a>");
}
void cgit_commit_link(char *name, char *title, char *class, char *head,
@@ -302,7 +318,7 @@ void cgit_print_pageheader(char *title, int show_search)
NULL, NULL);
html(" ");
cgit_log_link("log", NULL, NULL, cgit_query_head,
- cgit_query_sha1, cgit_query_path);
+ cgit_query_sha1, cgit_query_path, 0);
html(" ");
cgit_tree_link("tree", NULL, NULL, cgit_query_head,
cgit_query_sha1, NULL);