about summary refs log tree commit diff
path: root/ui-shared.c
diff options
context:
space:
mode:
Diffstat (limited to 'ui-shared.c')
-rw-r--r--ui-shared.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/ui-shared.c b/ui-shared.c
index e795043..cb8a8df 100644
--- a/ui-shared.c
+++ b/ui-shared.c
@@ -39,6 +39,27 @@ void cgit_print_error(char *msg)
 	html_txt(msg);
 	html("</div>\n");
 }
+
+char *cgit_repourl(const char *reponame)
+{
+	if (cgit_virtual_root) {
+		return fmt("%s/%s/", cgit_virtual_root, reponame);
+	} else {
+		return fmt("?r=%s", reponame);
+	}
+}
+
+char *cgit_pageurl(const char *reponame, const char *pagename, 
+		   const char *query)
+{
+	if (cgit_virtual_root) {
+		return fmt("%s/%s/%s/?%s", cgit_virtual_root, reponame, 
+			   pagename, query);
+	} else {
+		return fmt("?r=%s&p=%s&%s", reponame, pagename, query);
+	}
+}
+
 void cgit_print_docstart(char *title, struct cacheitem *item)
 {
 	html("Content-Type: text/html; charset=utf-8\n");