X-Git-Url: https://gitweb.ps.run/ps-cgit/blobdiff_plain/44947bfcdc0d6e8c7d673bea0538cbf2a182f289..cd79c16844b4006d4fd6f4b82d2f6e7e19b20c8e:/ui-shared.c diff --git a/ui-shared.c b/ui-shared.c index 9ab6409..71c899a 100644 --- a/ui-shared.c +++ b/ui-shared.c @@ -127,7 +127,7 @@ static char *repolink(char *title, char *class, char *page, char *head, html_attr(path); delim = "&"; } - if (head && head != cgit_query_head) { + if (head && strcmp(head, cgit_repo->defbranch)) { html(delim); html("h="); html_attr(head); @@ -136,13 +136,13 @@ 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 void reporevlink(char *page, char *name, char *title, char *class, + char *head, char *rev, char *path) { char *delim; - delim = repolink(title, class, "tree", head, path); - if (rev && rev != cgit_query_head) { + delim = repolink(title, class, page, head, path); + if (rev && strcmp(rev, cgit_query_head)) { html(delim); html("id="); html_attr(rev); @@ -152,6 +152,30 @@ void cgit_tree_link(char *name, char *title, char *class, char *head, html(""); } +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_commit_link(char *name, char *title, char *class, char *head, + char *rev) +{ + if (strlen(name) > cgit_max_msg_len && cgit_max_msg_len >= 15) { + name[cgit_max_msg_len] = '\0'; + name[cgit_max_msg_len - 1] = '.'; + name[cgit_max_msg_len - 2] = '.'; + name[cgit_max_msg_len - 3] = '.'; + } + reporevlink("commit", name, title, class, head, rev, NULL); +} + void cgit_print_date(time_t secs, char *format) { char buf[64];