From d14d77fe95c3b6224b40df9b101dded0deea913c Mon Sep 17 00:00:00 2001 From: Lars Hjemli Date: Sat, 16 Feb 2008 11:53:40 +0100 Subject: Introduce struct cgit_context This struct will hold all the cgit runtime information currently found in a multitude of global variables. The first cleanup removes all querystring-related variables. Signed-off-by: Lars Hjemli --- cache.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'cache.c') diff --git a/cache.c b/cache.c index 372e38d..b162952 100644 --- a/cache.c +++ b/cache.c @@ -57,10 +57,10 @@ int cache_create_dirs() if (mkdir(path, S_IRWXU) && errno!=EEXIST) return 0; - if (cgit_query_page) { + if (ctx.qry.page) { path = fmt("%s/%s/%s", cgit_cache_root, cache_safe_filename(cgit_repo->url), - cgit_query_page); + ctx.qry.page); if (mkdir(path, S_IRWXU) && errno!=EEXIST) return 0; } -- cgit v1.2.1 From b228d4ff82a65fdcd4a7364759fe36a0bdda5978 Mon Sep 17 00:00:00 2001 From: Lars Hjemli Date: Sat, 16 Feb 2008 13:07:13 +0100 Subject: Add all config variables into struct cgit_context This removes another big set of global variables, and introduces the cgit_prepare_context() function which populates a context-variable with compile-time default values. Signed-off-by: Lars Hjemli --- cache.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'cache.c') diff --git a/cache.c b/cache.c index b162952..2ed0d6f 100644 --- a/cache.c +++ b/cache.c @@ -44,21 +44,21 @@ int cache_create_dirs() { char *path; - path = fmt("%s", cgit_cache_root); + path = fmt("%s", ctx.cfg.cache_root); if (mkdir(path, S_IRWXU) && errno!=EEXIST) return 0; if (!cgit_repo) return 0; - path = fmt("%s/%s", cgit_cache_root, + path = fmt("%s/%s", ctx.cfg.cache_root, cache_safe_filename(cgit_repo->url)); if (mkdir(path, S_IRWXU) && errno!=EEXIST) return 0; if (ctx.qry.page) { - path = fmt("%s/%s/%s", cgit_cache_root, + path = fmt("%s/%s/%s", ctx.cfg.cache_root, cache_safe_filename(cgit_repo->url), ctx.qry.page); if (mkdir(path, S_IRWXU) && errno!=EEXIST) @@ -74,7 +74,7 @@ int cache_refill_overdue(const char *lockfile) if (stat(lockfile, &st)) return 0; else - return (time(NULL) - st.st_mtime > cgit_cache_max_create_time); + return (time(NULL) - st.st_mtime > ctx.cfg.cache_max_create_time); } int cache_lock(struct cacheitem *item) @@ -83,7 +83,7 @@ int cache_lock(struct cacheitem *item) char *lockfile = xstrdup(fmt("%s.lock", item->name)); top: - if (++i > cgit_max_lock_attempts) + if (++i > ctx.cfg.max_lock_attempts) die("cache_lock: unable to lock %s: %s", item->name, strerror(errno)); -- cgit v1.2.1 From d1f3bbe9d22029f45a77bb938c176ccc0c827d46 Mon Sep 17 00:00:00 2001 From: Lars Hjemli Date: Sat, 16 Feb 2008 13:56:09 +0100 Subject: Move cgit_repo into cgit_context This removes the global variable which is used to keep track of the currently selected repository, and adds a new variable in the cgit_context structure. Signed-off-by: Lars Hjemli --- cache.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'cache.c') diff --git a/cache.c b/cache.c index 2ed0d6f..7860fc7 100644 --- a/cache.c +++ b/cache.c @@ -48,18 +48,18 @@ int cache_create_dirs() if (mkdir(path, S_IRWXU) && errno!=EEXIST) return 0; - if (!cgit_repo) + if (!ctx.repo) return 0; path = fmt("%s/%s", ctx.cfg.cache_root, - cache_safe_filename(cgit_repo->url)); + cache_safe_filename(ctx.repo->url)); if (mkdir(path, S_IRWXU) && errno!=EEXIST) return 0; if (ctx.qry.page) { path = fmt("%s/%s/%s", ctx.cfg.cache_root, - cache_safe_filename(cgit_repo->url), + cache_safe_filename(ctx.repo->url), ctx.qry.page); if (mkdir(path, S_IRWXU) && errno!=EEXIST) return 0; -- cgit v1.2.1 From ee4056bd2c902a12dea67874368863fe60ea5a5f Mon Sep 17 00:00:00 2001 From: Lars Hjemli Date: Thu, 27 Mar 2008 09:22:13 +0100 Subject: Add cache.h The functions found in cache.c are only used by cgit.c, so there's no point in rebuilding all object files when the cache interface is changed. Signed-off-by: Lars Hjemli --- cache.c | 1 + 1 file changed, 1 insertion(+) (limited to 'cache.c') diff --git a/cache.c b/cache.c index 7860fc7..89f7ecd 100644 --- a/cache.c +++ b/cache.c @@ -7,6 +7,7 @@ */ #include "cgit.h" +#include "cache.h" const int NOLOCK = -1; -- cgit v1.2.1