Add git_log_link() and fix bug in generic repolink function

The generic repolink function compared head with cgit_query_head, which
almost always would be the same pointer. The test now compares with
repo.defbranch, which is the wanted behavour.

Bug discovered while adding cgit_log_link(), so this commit also contain
that change.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
这个提交包含在:
Lars Hjemli
2007-06-17 13:57:51 +02:00
父节点 426032f767
当前提交 48c487d72d
共有 5 个文件被更改,包括 24 次插入20 次删除

查看文件

@ -127,7 +127,7 @@ static char *repolink(char *title, char *class, char *page, char *head,
html_attr(path);
delim = "&amp;";
}
if (head && strcmp(head, cgit_query_head)) {
if (head && strcmp(head, cgit_repo->defbranch)) {
html(delim);
html("h=");
html_attr(head);
@ -136,12 +136,12 @@ static char *repolink(char *title, char *class, char *page, char *head,
return fmt("%s", delim);
}
void cgit_tree_link(char *name, char *title, char *class, char *head,
char *rev, char *path)
static char *reporevlink(char *page, char *name, char *title, char *class,
char *head, char *rev, char *path)
{
char *delim;
delim = repolink(title, class, "tree", head, path);
delim = repolink(title, class, page, head, path);
if (rev && strcmp(rev, cgit_query_head)) {
html(delim);
html("id=");
@ -152,6 +152,18 @@ void cgit_tree_link(char *name, char *title, char *class, char *head,
html("</a>");
}
void cgit_tree_link(char *name, char *title, char *class, char *head,
char *rev, char *path)
{
reporevlink("tree", name, title, class, head, rev, path);
}
void cgit_log_link(char *name, char *title, char *class, char *head,
char *rev, char *path)
{
reporevlink("log", name, title, class, head, rev, path);
}
void cgit_print_date(time_t secs, char *format)
{
char buf[64];