]> granicus.if.org Git - cgit/commitdiff
Support "/" as virtual-root
authorLars Hjemli <hjemli@gmail.com>
Thu, 8 Nov 2007 11:20:05 +0000 (12:20 +0100)
committerLars Hjemli <hjemli@gmail.com>
Thu, 8 Nov 2007 11:21:59 +0000 (12:21 +0100)
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

index e06df91bb8c74a617fa95d67e8b0737b4a1099cb..6117f5c7ae0ebf7cebcda1c48ab2d2b6aa4b5c2f 100644 (file)
--- a/shared.c
+++ b/shared.c
@@ -157,9 +157,11 @@ void cgit_global_config_cb(const char *name, const char *value)
                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);