summaryrefslogtreecommitdiffabout
path: root/cgit.c
authorLars Hjemli <hjemli@gmail.com>2008-02-16 12:07:13 (UTC)
committer Lars Hjemli <hjemli@gmail.com>2008-02-16 12:10:50 (UTC)
commitb228d4ff82a65fdcd4a7364759fe36a0bdda5978 (patch) (side-by-side diff)
tree33b8cc2ff48113f8d7ad3ba88c7ea19a7cac570a /cgit.c
parentd14d77fe95c3b6224b40df9b101dded0deea913c (diff)
downloadcgit-b228d4ff82a65fdcd4a7364759fe36a0bdda5978.zip
cgit-b228d4ff82a65fdcd4a7364759fe36a0bdda5978.tar.gz
cgit-b228d4ff82a65fdcd4a7364759fe36a0bdda5978.tar.bz2
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 <hjemli@gmail.com>
Diffstat (limited to 'cgit.c') (more/less context) (ignore whitespace changes)
-rw-r--r--cgit.c33
1 files changed, 17 insertions, 16 deletions
diff --git a/cgit.c b/cgit.c
index 8a30c3c..f0907a1 100644
--- a/cgit.c
+++ b/cgit.c
@@ -12,5 +12,5 @@ static int cgit_prepare_cache(struct cacheitem *item)
{
if (!cgit_repo && ctx.qry.repo) {
- char *title = fmt("%s - %s", cgit_root_title, "Bad request");
+ char *title = fmt("%s - %s", ctx.cfg.root_title, "Bad request");
cgit_print_docstart(title, item);
cgit_print_pageheader(title, 0);
@@ -21,25 +21,25 @@ static int cgit_prepare_cache(struct cacheitem *item)
if (!cgit_repo) {
- item->name = xstrdup(fmt("%s/index.html", cgit_cache_root));
- item->ttl = cgit_cache_root_ttl;
+ item->name = xstrdup(fmt("%s/index.html", ctx.cfg.cache_root));
+ item->ttl = ctx.cfg.cache_root_ttl;
return 1;
}
if (!cgit_cmd) {
- item->name = xstrdup(fmt("%s/%s/index.%s.html", cgit_cache_root,
+ item->name = xstrdup(fmt("%s/%s/index.%s.html", ctx.cfg.cache_root,
cache_safe_filename(cgit_repo->url),
cache_safe_filename(ctx.qry.raw)));
- item->ttl = cgit_cache_repo_ttl;
+ item->ttl = ctx.cfg.cache_repo_ttl;
} else {
- item->name = xstrdup(fmt("%s/%s/%s/%s.html", cgit_cache_root,
+ item->name = xstrdup(fmt("%s/%s/%s/%s.html", ctx.cfg.cache_root,
cache_safe_filename(cgit_repo->url),
ctx.qry.page,
cache_safe_filename(ctx.qry.raw)));
if (ctx.qry.has_symref)
- item->ttl = cgit_cache_dynamic_ttl;
+ item->ttl = ctx.cfg.cache_dynamic_ttl;
else if (ctx.qry.has_sha1)
- item->ttl = cgit_cache_static_ttl;
+ item->ttl = ctx.cfg.cache_static_ttl;
else
- item->ttl = cgit_cache_repo_ttl;
+ item->ttl = ctx.cfg.cache_repo_ttl;
}
return 1;
@@ -86,5 +86,5 @@ static void cgit_print_repo_page(struct cacheitem *item)
if (chdir(cgit_repo->path)) {
- title = fmt("%s - %s", cgit_root_title, "Bad request");
+ title = fmt("%s - %s", ctx.cfg.root_title, "Bad request");
cgit_print_docstart(title, item);
cgit_print_pageheader(title, 0);
@@ -154,5 +154,5 @@ static void cgit_print_repo_page(struct cacheitem *item)
case CMD_LOG:
cgit_print_log(ctx.qry.sha1, ctx.qry.ofs,
- cgit_max_commit_count, ctx.qry.grep, ctx.qry.search,
+ ctx.cfg.max_commit_count, ctx.qry.grep, ctx.qry.search,
ctx.qry.path, 1);
break;
@@ -213,5 +213,5 @@ static void cgit_check_cache(struct cacheitem *item)
top:
- if (++i > cgit_max_lock_attempts) {
+ if (++i > ctx.cfg.max_lock_attempts) {
die("cgit_refresh_cache: unable to lock %s: %s",
item->name, strerror(errno));
@@ -259,8 +259,8 @@ static void cgit_parse_args(int argc, const char **argv)
for (i = 1; i < argc; i++) {
if (!strncmp(argv[i], "--cache=", 8)) {
- cgit_cache_root = xstrdup(argv[i]+8);
+ ctx.cfg.cache_root = xstrdup(argv[i]+8);
}
if (!strcmp(argv[i], "--nocache")) {
- cgit_nocache = 1;
+ ctx.cfg.nocache = 1;
}
if (!strncmp(argv[i], "--query=", 8)) {
@@ -292,4 +292,5 @@ int main(int argc, const char **argv)
const char *cgit_config_env = getenv("CGIT_CONFIG");
+ cgit_prepare_context(&ctx);
htmlfd = STDOUT_FILENO;
item.st.st_mtime = time(NULL);
@@ -302,5 +303,5 @@ int main(int argc, const char **argv)
cgit_repo = NULL;
if (getenv("SCRIPT_NAME"))
- cgit_script_name = xstrdup(getenv("SCRIPT_NAME"));
+ ctx.cfg.script_name = xstrdup(getenv("SCRIPT_NAME"));
if (getenv("QUERY_STRING"))
ctx.qry.raw = xstrdup(getenv("QUERY_STRING"));
@@ -309,5 +310,5 @@ int main(int argc, const char **argv)
if (!cgit_prepare_cache(&item))
return 0;
- if (cgit_nocache) {
+ if (ctx.cfg.nocache) {
cgit_fill_cache(&item, 0);
} else {