summaryrefslogtreecommitdiffabout
path: root/cache.c
Unidiff
Diffstat (limited to 'cache.c') (more/less context) (ignore whitespace changes)
-rw-r--r--cache.c22
1 files changed, 0 insertions, 22 deletions
diff --git a/cache.c b/cache.c
index 91b89a6..1ff1251 100644
--- a/cache.c
+++ b/cache.c
@@ -5,38 +5,16 @@
5 * Licensed under GNU General Public License v2 5 * Licensed under GNU General Public License v2
6 * (see COPYING for full license text) 6 * (see COPYING for full license text)
7 */ 7 */
8 8
9#include "cgit.h" 9#include "cgit.h"
10 10
11const int NOLOCK = -1; 11const int NOLOCK = -1;
12 12
13void cache_prepare(struct cacheitem *item)
14{
15 if (!cgit_query_repo) {
16 item->name = xstrdup(fmt("%s/index.html", cgit_cache_root));
17 item->ttl = cgit_cache_root_ttl;
18 } else if (!cgit_query_page) {
19 item->name = xstrdup(fmt("%s/%s/index.html", cgit_cache_root,
20 cgit_query_repo));
21 item->ttl = cgit_cache_repo_ttl;
22 } else {
23 item->name = xstrdup(fmt("%s/%s/%s/%s.html", cgit_cache_root,
24 cgit_query_repo, cgit_query_page,
25 cgit_querystring));
26 if (cgit_query_has_symref)
27 item->ttl = cgit_cache_dynamic_ttl;
28 else if (cgit_query_has_sha1)
29 item->ttl = cgit_cache_static_ttl;
30 else
31 item->ttl = cgit_cache_repo_ttl;
32 }
33}
34
35int cache_exist(struct cacheitem *item) 13int cache_exist(struct cacheitem *item)
36{ 14{
37 if (stat(item->name, &item->st)) { 15 if (stat(item->name, &item->st)) {
38 item->st.st_mtime = 0; 16 item->st.st_mtime = 0;
39 return 0; 17 return 0;
40 } 18 }
41 return 1; 19 return 1;
42} 20}