]> gitweb.ps.run Git - ps-cgit/blobdiff - ui-shared.c
filters: Add sample gentoo script
[ps-cgit] / ui-shared.c
index d4c4bb91c6aeca8993f5f492f6392e86496c401d..23a893be1cb6cab351adf596c26aa4f8637d9911 100644 (file)
@@ -69,7 +69,11 @@ const char *cgit_currenturl(void)
 {
        if (!ctx.qry.url)
                return cgit_rooturl();
-       return ctx.qry.url;
+       const char *root = cgit_rooturl();
+       size_t len = strlen(root);
+       if (len && root[len - 1] == '/')
+               return fmtalloc("%s%s", root, ctx.qry.url);
+       return fmtalloc("%s/%s", root, ctx.qry.url);
 }
 
 const char *cgit_rooturl(void)
@@ -82,7 +86,7 @@ const char *cgit_rooturl(void)
 
 const char *cgit_loginurl(void)
 {
-       static const char *login_url = 0;
+       static const char *login_url;
        if (!login_url)
                login_url = fmtalloc("%s?p=login", cgit_rooturl());
        return login_url;
@@ -119,7 +123,7 @@ char *cgit_fileurl(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);
+       return cgit_fileurl(reponame, pagename, NULL, query);
 }
 
 const char *cgit_repobasename(const char *reponame)