author | Lars Hjemli <hjemli@gmail.com> | 2007-11-08 11:20:05 (UTC) |
---|---|---|
committer | Lars Hjemli <hjemli@gmail.com> | 2007-11-08 11:21:59 (UTC) |
commit | c188c482b3b9ede88891fbcec0b2e6b1bdb8338e (patch) (unidiff) | |
tree | e894b077cd48656507ef1872ba1889b3ba8701c9 /shared.c | |
parent | 72ede12551af320b6d8eade853dbd2cd6f2222cc (diff) | |
download | cgit-c188c482b3b9ede88891fbcec0b2e6b1bdb8338e.zip cgit-c188c482b3b9ede88891fbcec0b2e6b1bdb8338e.tar.gz cgit-c188c482b3b9ede88891fbcec0b2e6b1bdb8338e.tar.bz2 |
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>
-rw-r--r-- | shared.c | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -144,35 +144,37 @@ struct repoinfo *cgit_get_repoinfo(const char *url) | |||
144 | void cgit_global_config_cb(const char *name, const char *value) | 144 | void cgit_global_config_cb(const char *name, const char *value) |
145 | { | 145 | { |
146 | if (!strcmp(name, "root-title")) | 146 | if (!strcmp(name, "root-title")) |
147 | cgit_root_title = xstrdup(value); | 147 | cgit_root_title = xstrdup(value); |
148 | else if (!strcmp(name, "css")) | 148 | else if (!strcmp(name, "css")) |
149 | cgit_css = xstrdup(value); | 149 | cgit_css = xstrdup(value); |
150 | else if (!strcmp(name, "logo")) | 150 | else if (!strcmp(name, "logo")) |
151 | cgit_logo = xstrdup(value); | 151 | cgit_logo = xstrdup(value); |
152 | else if (!strcmp(name, "index-header")) | 152 | else if (!strcmp(name, "index-header")) |
153 | cgit_index_header = xstrdup(value); | 153 | cgit_index_header = xstrdup(value); |
154 | else if (!strcmp(name, "index-info")) | 154 | else if (!strcmp(name, "index-info")) |
155 | cgit_index_info = xstrdup(value); | 155 | cgit_index_info = xstrdup(value); |
156 | else if (!strcmp(name, "logo-link")) | 156 | else if (!strcmp(name, "logo-link")) |
157 | cgit_logo_link = xstrdup(value); | 157 | cgit_logo_link = xstrdup(value); |
158 | else if (!strcmp(name, "module-link")) | 158 | else if (!strcmp(name, "module-link")) |
159 | cgit_module_link = xstrdup(value); | 159 | cgit_module_link = xstrdup(value); |
160 | else if (!strcmp(name, "virtual-root")) | 160 | else if (!strcmp(name, "virtual-root")) { |
161 | cgit_virtual_root = trim_end(value, '/'); | 161 | cgit_virtual_root = trim_end(value, '/'); |
162 | else if (!strcmp(name, "nocache")) | 162 | if (!cgit_virtual_root && (!strcmp(value, "/"))) |
163 | cgit_virtual_root = ""; | ||
164 | } else if (!strcmp(name, "nocache")) | ||
163 | cgit_nocache = atoi(value); | 165 | cgit_nocache = atoi(value); |
164 | else if (!strcmp(name, "snapshots")) | 166 | else if (!strcmp(name, "snapshots")) |
165 | cgit_snapshots = cgit_parse_snapshots_mask(value); | 167 | cgit_snapshots = cgit_parse_snapshots_mask(value); |
166 | else if (!strcmp(name, "enable-index-links")) | 168 | else if (!strcmp(name, "enable-index-links")) |
167 | cgit_enable_index_links = atoi(value); | 169 | cgit_enable_index_links = atoi(value); |
168 | else if (!strcmp(name, "enable-log-filecount")) | 170 | else if (!strcmp(name, "enable-log-filecount")) |
169 | cgit_enable_log_filecount = atoi(value); | 171 | cgit_enable_log_filecount = atoi(value); |
170 | else if (!strcmp(name, "enable-log-linecount")) | 172 | else if (!strcmp(name, "enable-log-linecount")) |
171 | cgit_enable_log_linecount = atoi(value); | 173 | cgit_enable_log_linecount = atoi(value); |
172 | else if (!strcmp(name, "cache-root")) | 174 | else if (!strcmp(name, "cache-root")) |
173 | cgit_cache_root = xstrdup(value); | 175 | cgit_cache_root = xstrdup(value); |
174 | else if (!strcmp(name, "cache-root-ttl")) | 176 | else if (!strcmp(name, "cache-root-ttl")) |
175 | cgit_cache_root_ttl = atoi(value); | 177 | cgit_cache_root_ttl = atoi(value); |
176 | else if (!strcmp(name, "cache-repo-ttl")) | 178 | else if (!strcmp(name, "cache-repo-ttl")) |
177 | cgit_cache_repo_ttl = atoi(value); | 179 | cgit_cache_repo_ttl = atoi(value); |
178 | else if (!strcmp(name, "cache-static-ttl")) | 180 | else if (!strcmp(name, "cache-static-ttl")) |