diff options
-rw-r--r-- | cgit.h | 2 | ||||
-rw-r--r-- | ui-shared.c | 17 | ||||
-rw-r--r-- | ui-snapshot.c | 2 |
3 files changed, 16 insertions, 5 deletions
@@ -201,6 +201,8 @@ extern int cache_exist(struct cacheitem *item); extern int cache_expired(struct cacheitem *item); extern char *cgit_repourl(const char *reponame); +extern char *cgit_fileurl(const char *reponame, const char *pagename, + const char *filename, const char *query); extern char *cgit_pageurl(const char *reponame, const char *pagename, const char *query); diff --git a/ui-shared.c b/ui-shared.c index d4376ce..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) @@ -368,3 +375,5 @@ void cgit_print_snapshot_start(const char *mimetype, const char *filename, ttl_seconds(item->ttl))); html("\n"); } + +/* vim:set sw=8: */ diff --git a/ui-snapshot.c b/ui-snapshot.c index 84bf8f7..7076b50 100644 --- a/ui-snapshot.c +++ b/ui-snapshot.c @@ -109,7 +109,7 @@ void cgit_print_snapshot_links(const char *repo,const char *hex) const struct snapshot_archive_t* sat = &snapshot_archives[f]; filename = fmt("%s-%s%s",repo,hex,sat->suffix); htmlf("<a href='%s'>%s</a><br/>", - cgit_pageurl(repo,"snapshot", + cgit_fileurl(repo,"snapshot",filename, fmt("id=%s&name=%s",hex,filename)), filename); } } |