cgit

commit c188c482b3b9ede88891fbcec0b2e6b1bdb8338e

Author: Lars Hjemli <hjemli@gmail.com>

Support "/" as virtual-root

When the virtual-root was a single "/", it would be normalized to NULL due
to removal of trailing slashes, which in turn would fool us to belive that
we shouldn't generate virtual urls.

This makes the "/" normalize to "", effectively allowing virtual urls like
http://example.com/projectname to be generated without specifying the
full domain name as the virtual root.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>

 shared.c | 6 ++++--


diff --git a/shared.c b/shared.c
index e06df91bb8c74a617fa95d67e8b0737b4a1099cb..6117f5c7ae0ebf7cebcda1c48ab2d2b6aa4b5c2f 100644
--- a/shared.c
+++ b/shared.c
@@ -157,9 +157,11 @@ 	else if (!strcmp(name, "logo-link"))
 		cgit_logo_link = xstrdup(value);
 	else if (!strcmp(name, "module-link"))
 		cgit_module_link = xstrdup(value);
-	else if (!strcmp(name, "virtual-root"))
+	else if (!strcmp(name, "virtual-root")) {
 		cgit_virtual_root = trim_end(value, '/');
-	else if (!strcmp(name, "nocache"))
+		if (!cgit_virtual_root && (!strcmp(value, "/")))
+			cgit_virtual_root = "";
+	} else if (!strcmp(name, "nocache"))
 		cgit_nocache = atoi(value);
 	else if (!strcmp(name, "snapshots"))
 		cgit_snapshots = cgit_parse_snapshots_mask(value);