diff options
context:
space:
mode:
Diffstat (limited to 'source/ui-shared.c')
-rw-r--r--source/ui-shared.c4
1 file changed, 3 insertions, 1 deletion
diff --git a/source/ui-shared.c b/source/ui-shared.c
index a1538f8..49c9ef0 100644
--- a/source/ui-shared.c
+++ b/source/ui-shared.c
@@ -795,6 +795,8 @@ char *cgit_fileurl(const char *reponame, const char *pagename,
struct strbuf sb = STRBUF_INIT;
const char *delim;
+ // The result is a raw URL, so the query joiner is a bare ampersand
+ // and each sink escapes the whole string for wherever it lands.
if (ctx.cfg.virtual_root) {
strbuf_addf(&sb, "%s%s/%s/%s", ctx.cfg.virtual_root, reponame,
pagename, (filename ? filename:""));
@@ -802,7 +804,7 @@ char *cgit_fileurl(const char *reponame, const char *pagename,
} else {
strbuf_addf(&sb, "?url=%s/%s/%s", reponame, pagename,
(filename ? filename : ""));
- delim = "&";
+ delim = "&";
}
if (query)
strbuf_addf(&sb, "%s%s", delim, query);