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. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
This commit is contained in:
parent
61245ad185
commit
7c849d94ec
4
cache.c
4
cache.c
@ -45,6 +45,10 @@ int cache_create_dirs()
|
|||||||
{
|
{
|
||||||
char *path;
|
char *path;
|
||||||
|
|
||||||
|
path = fmt("%s", cgit_cache_root);
|
||||||
|
if (mkdir(path, S_IRWXU) && errno!=EEXIST)
|
||||||
|
return 0;
|
||||||
|
|
||||||
if (!cgit_query_repo)
|
if (!cgit_query_repo)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
4
cgit.c
4
cgit.c
@ -42,12 +42,16 @@ static void cgit_print_repo_page(struct cacheitem *item)
|
|||||||
|
|
||||||
static void cgit_fill_cache(struct cacheitem *item)
|
static void cgit_fill_cache(struct cacheitem *item)
|
||||||
{
|
{
|
||||||
|
static char buf[PATH_MAX];
|
||||||
|
|
||||||
|
getcwd(buf, sizeof(buf));
|
||||||
htmlfd = item->fd;
|
htmlfd = item->fd;
|
||||||
item->st.st_mtime = time(NULL);
|
item->st.st_mtime = time(NULL);
|
||||||
if (cgit_query_repo)
|
if (cgit_query_repo)
|
||||||
cgit_print_repo_page(item);
|
cgit_print_repo_page(item);
|
||||||
else
|
else
|
||||||
cgit_print_repolist(item);
|
cgit_print_repolist(item);
|
||||||
|
chdir(buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void cgit_check_cache(struct cacheitem *item)
|
static void cgit_check_cache(struct cacheitem *item)
|
||||||
|
Loading…
Reference in New Issue
Block a user