summary refs log tree commit diff
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)
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);