diff options
Diffstat (limited to 'ui-shared.c')
| -rw-r--r-- | ui-shared.c | 22 |
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, | |||
| 163 | } | 163 | } |
| 164 | 164 | ||
| 165 | void cgit_log_link(char *name, char *title, char *class, char *head, | 165 | void cgit_log_link(char *name, char *title, char *class, char *head, |
| 166 | char *rev, char *path) | 166 | char *rev, char *path, int ofs) |
| 167 | { | 167 | { |
| 168 | reporevlink("log", name, title, class, head, rev, path); | 168 | char *delim; |
| 169 | |||
| 170 | delim = repolink(title, class, "log", head, path); | ||
| 171 | if (rev && strcmp(rev, cgit_query_head)) { | ||
| 172 | html(delim); | ||
| 173 | html("id="); | ||
| 174 | html_attr(rev); | ||
| 175 | delim = "&"; | ||
| 176 | } | ||
| 177 | if (ofs > 0) { | ||
| 178 | html(delim); | ||
| 179 | html("ofs="); | ||
| 180 | htmlf("%d", ofs); | ||
| 181 | } | ||
| 182 | html("'>"); | ||
| 183 | html_txt(name); | ||
| 184 | html("</a>"); | ||
| 169 | } | 185 | } |
| 170 | 186 | ||
| 171 | void cgit_commit_link(char *name, char *title, char *class, char *head, | 187 | 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) | |||
| 302 | NULL, NULL); | 318 | NULL, NULL); |
| 303 | html(" "); | 319 | html(" "); |
| 304 | cgit_log_link("log", NULL, NULL, cgit_query_head, | 320 | cgit_log_link("log", NULL, NULL, cgit_query_head, |
| 305 | cgit_query_sha1, cgit_query_path); | 321 | cgit_query_sha1, cgit_query_path, 0); |
| 306 | html(" "); | 322 | html(" "); |
| 307 | cgit_tree_link("tree", NULL, NULL, cgit_query_head, | 323 | cgit_tree_link("tree", NULL, NULL, cgit_query_head, |
| 308 | cgit_query_sha1, NULL); | 324 | cgit_query_sha1, NULL); |
