X-Git-Url: https://gitweb.ps.run/ps-cgit/blobdiff_plain/42e459bb1f209df8278f4f4f0ee3f4bcfae80da8..0df096f6e146187e55e2203ea1c017442cc2c8c6:/ui-shared.c diff --git a/ui-shared.c b/ui-shared.c index 64c237f..1c1415e 100644 --- a/ui-shared.c +++ b/ui-shared.c @@ -57,13 +57,13 @@ char *cgit_repourl(const char *reponame) } } -char *cgit_pageurl(const char *reponame, const char *pagename, - const char *query) +char *cgit_fileurl(const char *reponame, const char *pagename, + const char *filename, const char *query) { if (cgit_virtual_root) { if (query) - return fmt("%s/%s/%s/?%s", cgit_virtual_root, reponame, - pagename, query); + return fmt("%s/%s/%s/%s?%s", cgit_virtual_root, reponame, + pagename, filename?filename:"", query); else return fmt("%s/%s/%s/", cgit_virtual_root, reponame, pagename); @@ -75,6 +75,13 @@ char *cgit_pageurl(const char *reponame, const char *pagename, } } +char *cgit_pageurl(const char *reponame, const char *pagename, + const char *query) +{ + return cgit_fileurl(reponame,pagename,0,query); +} + + char *cgit_currurl() { if (!cgit_virtual_root) @@ -163,9 +170,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(""); } void cgit_commit_link(char *name, char *title, char *class, char *head, @@ -266,7 +289,7 @@ void cgit_print_docstart(char *title, struct cacheitem *item) html(""); html_txt(title); html("\n"); - htmlf("\n", cgit_version); + htmlf("\n", cgit_version); html("\n"); @@ -302,7 +325,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); @@ -352,3 +375,5 @@ void cgit_print_snapshot_start(const char *mimetype, const char *filename, ttl_seconds(item->ttl))); html("\n"); } + +/* vim:set sw=8: */