author | Lars Hjemli <hjemli@gmail.com> | 2007-01-11 23:24:35 (UTC) |
---|---|---|
committer | Lars Hjemli <hjemli@gmail.com> | 2007-01-11 23:24:35 (UTC) |
commit | 2c2047ff67a1e0053f95776e5079e432f69cea54 (patch) (side-by-side diff) | |
tree | 0572bd25c3f7ef43494664cca750c940c9e93ef1 /cgit.c | |
parent | 83a5f35a2724ee60bfd8c5679b98da7008272254 (diff) | |
download | cgit-2c2047ff67a1e0053f95776e5079e432f69cea54.zip cgit-2c2047ff67a1e0053f95776e5079e432f69cea54.tar.gz cgit-2c2047ff67a1e0053f95776e5079e432f69cea54.tar.bz2 |
Remove troublesome chars from cachefile names
Add a funtion cache_safe_filename() which replaces possibly bad filename
characters with '_'.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
-rw-r--r-- | cgit.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -9,33 +9,33 @@ #include "cgit.h" const char cgit_version[] = CGIT_VERSION; static void cgit_prepare_cache(struct cacheitem *item) { if (!cgit_query_repo) { item->name = xstrdup(fmt("%s/index.html", cgit_cache_root)); item->ttl = cgit_cache_root_ttl; } else if (!cgit_query_page) { item->name = xstrdup(fmt("%s/%s/index.html", cgit_cache_root, cgit_query_repo)); item->ttl = cgit_cache_repo_ttl; } else { item->name = xstrdup(fmt("%s/%s/%s/%s.html", cgit_cache_root, cgit_query_repo, cgit_query_page, - cgit_querystring)); + cache_safe_filename(cgit_querystring))); if (cgit_query_has_symref) item->ttl = cgit_cache_dynamic_ttl; else if (cgit_query_has_sha1) item->ttl = cgit_cache_static_ttl; else item->ttl = cgit_cache_repo_ttl; } } static void cgit_print_repo_page(struct cacheitem *item) { if (chdir(fmt("%s/%s", cgit_root, cgit_query_repo)) || cgit_read_config("info/cgit", cgit_repo_config_cb)) { char *title = fmt("%s - %s", cgit_root_title, "Bad request"); cgit_print_docstart(title, item); cgit_print_pageheader(title, 0); |