History

Allow relative paths for cgit_cache_root

Make sure we chdir(2) back to the original getcwd(2) when a page has been generated. Also, if the cgit_cache_root do not exist, try to create it. This is a feature intended to ease testing/debugging.

Lars Hjemli committed 19 years ago

Commit 7c849d91 parent 61245ad2 files · +8 −0Browse files

Unified · Split

2 files
  1. cache.c +4 −0
  2. cgit.c +4 −0
cache.c+4−0
@@ -45,6 +45,10 @@ int cache_create_dirs() · 44 unmodified lines
4545 {
4646 char *path;
4747
48+ path = fmt("%s", cgit_cache_root);
49+ if (mkdir(path, S_IRWXU) && errno!=EEXIST)
50+ return 0;
51+
4852 if (!cgit_query_repo)
4953 return 0;
5054
cgit.c+4−0
@@ -42,12 +42,16 @@ static void cgit_print_repo_page(struct cacheitem *item) · 41 unmodified lines
4242
4343 static void cgit_fill_cache(struct cacheitem *item)
4444 {
45+ static char buf[PATH_MAX];
46+
47+ getcwd(buf, sizeof(buf));
4548 htmlfd = item->fd;
4649 item->st.st_mtime = time(NULL);
4750 if (cgit_query_repo)
4851 cgit_print_repo_page(item);
4952 else
5053 cgit_print_repolist(item);
54+ chdir(buf);
5155 }
5256
5357 static void cgit_check_cache(struct cacheitem *item)