summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--cgit.h2
-rw-r--r--ui-shared.c17
-rw-r--r--ui-snapshot.c2
3 files changed, 16 insertions, 5 deletions
diff --git a/cgit.h b/cgit.h
index 6937c42..aabf725 100644
--- a/cgit.h
+++ b/cgit.h
@@ -203,2 +203,4 @@ 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,
diff --git a/ui-shared.c b/ui-shared.c
index d4376ce..1c1415e 100644
--- a/ui-shared.c
+++ b/ui-shared.c
@@ -59,4 +59,4 @@ 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)
{
@@ -64,4 +64,4 @@ char *cgit_pageurl(const char *reponame, const char *pagename,
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
@@ -77,2 +77,9 @@ 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()
@@ -370 +377,3 @@ void cgit_print_snapshot_start(const char *mimetype, const char *filename,
}
+
+/* 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
@@ -111,3 +111,3 @@ void cgit_print_snapshot_links(const char *repo,const char *hex)
htmlf("<a href='%s'>%s</a><br/>",
- cgit_pageurl(repo,"snapshot",
+ cgit_fileurl(repo,"snapshot",filename,
fmt("id=%s&amp;name=%s",hex,filename)), filename);