summaryrefslogtreecommitdiffabout
authorMichael Krelin <hacker@klever.net>2007-07-02 00:29:12 (UTC)
committer Lars Hjemli <hjemli@gmail.com>2007-07-03 19:28:13 (UTC)
commit51f6547879e2516b9850b0b3c51df044c16a8a52 (patch) (side-by-side diff)
treef73a2db285a41c1c8d6ece33ec7519728a392d84
parent16a3d2779ccd56bf7954d98da547247d8796544b (diff)
downloadcgit-51f6547879e2516b9850b0b3c51df044c16a8a52.zip
cgit-51f6547879e2516b9850b0b3c51df044c16a8a52.tar.gz
cgit-51f6547879e2516b9850b0b3c51df044c16a8a52.tar.bz2
make config adjustable via env variable CGIT_CONFIG
Signed-off-by: Michael Krelin <hacker@klever.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--cgit.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/cgit.c b/cgit.c
index d9a03c2..1281bfa 100644
--- a/cgit.c
+++ b/cgit.c
@@ -193,57 +193,59 @@ static void cgit_parse_args(int argc, const char **argv)
if (!strncmp(argv[i], "--cache=", 8)) {
cgit_cache_root = xstrdup(argv[i]+8);
}
if (!strcmp(argv[i], "--nocache")) {
cgit_nocache = 1;
}
if (!strncmp(argv[i], "--query=", 8)) {
cgit_querystring = xstrdup(argv[i]+8);
}
if (!strncmp(argv[i], "--repo=", 7)) {
cgit_query_repo = xstrdup(argv[i]+7);
}
if (!strncmp(argv[i], "--page=", 7)) {
cgit_query_page = xstrdup(argv[i]+7);
}
if (!strncmp(argv[i], "--head=", 7)) {
cgit_query_head = xstrdup(argv[i]+7);
cgit_query_has_symref = 1;
}
if (!strncmp(argv[i], "--sha1=", 7)) {
cgit_query_sha1 = xstrdup(argv[i]+7);
cgit_query_has_sha1 = 1;
}
if (!strncmp(argv[i], "--ofs=", 6)) {
cgit_query_ofs = atoi(argv[i]+6);
}
}
}
int main(int argc, const char **argv)
{
struct cacheitem item;
+ const char *cgit_config_env = getenv("CGIT_CONFIG");
htmlfd = STDOUT_FILENO;
item.st.st_mtime = time(NULL);
cgit_repolist.length = 0;
cgit_repolist.count = 0;
cgit_repolist.repos = NULL;
- cgit_read_config(CGIT_CONFIG, cgit_global_config_cb);
+ cgit_read_config(cgit_config_env ? cgit_config_env : CGIT_CONFIG,
+ cgit_global_config_cb);
cgit_repo = NULL;
if (getenv("SCRIPT_NAME"))
cgit_script_name = xstrdup(getenv("SCRIPT_NAME"));
if (getenv("QUERY_STRING"))
cgit_querystring = xstrdup(getenv("QUERY_STRING"));
cgit_parse_args(argc, argv);
cgit_parse_query(cgit_querystring, cgit_querystring_cb);
if (!cgit_prepare_cache(&item))
return 0;
if (cgit_nocache) {
cgit_fill_cache(&item, 0);
} else {
cgit_check_cache(&item);
cgit_print_cache(&item);
}
return 0;
}