|
diff --git a/cgit.c b/cgit.c index 73b1f02..1f46e0d 100644 --- a/ cgit.c+++ b/ cgit.c |
|
@@ -4,16 +4,17 @@ |
4 | * |
4 | * |
5 | * Licensed under GNU General Public License v2 |
5 | * Licensed under GNU General Public License v2 |
6 | * (see COPYING for full license text) |
6 | * (see COPYING for full license text) |
7 | */ |
7 | */ |
8 | |
8 | |
9 | #include "cgit.h" |
9 | #include "cgit.h" |
10 | #include "cache.h" |
10 | #include "cache.h" |
11 | #include "cmd.h" |
11 | #include "cmd.h" |
| |
12 | #include "configfile.h" |
12 | #include "ui-shared.h" |
13 | #include "ui-shared.h" |
13 | |
14 | |
14 | const char *cgit_version = CGIT_VERSION; |
15 | const char *cgit_version = CGIT_VERSION; |
15 | |
16 | |
16 | void config_cb(const char *name, const char *value) |
17 | void config_cb(const char *name, const char *value) |
17 | { |
18 | { |
18 | if (!strcmp(name, "root-title")) |
19 | if (!strcmp(name, "root-title")) |
19 | ctx.cfg.root_title = xstrdup(value); |
20 | ctx.cfg.root_title = xstrdup(value); |
@@ -98,17 +99,17 @@ void config_cb(const char *name, const char *value) |
98 | else if (ctx.repo && !strcmp(name, "repo.module-link")) |
99 | else if (ctx.repo && !strcmp(name, "repo.module-link")) |
99 | ctx.repo->module_link= xstrdup(value); |
100 | ctx.repo->module_link= xstrdup(value); |
100 | else if (ctx.repo && !strcmp(name, "repo.readme") && value != NULL) { |
101 | else if (ctx.repo && !strcmp(name, "repo.readme") && value != NULL) { |
101 | if (*value == '/') |
102 | if (*value == '/') |
102 | ctx.repo->readme = xstrdup(value); |
103 | ctx.repo->readme = xstrdup(value); |
103 | else |
104 | else |
104 | ctx.repo->readme = xstrdup(fmt("%s/%s", ctx.repo->path, value)); |
105 | ctx.repo->readme = xstrdup(fmt("%s/%s", ctx.repo->path, value)); |
105 | } else if (!strcmp(name, "include")) |
106 | } else if (!strcmp(name, "include")) |
106 | cgit_read_config(value, config_cb); |
107 | parse_configfile(value, config_cb); |
107 | } |
108 | } |
108 | |
109 | |
109 | static void querystring_cb(const char *name, const char *value) |
110 | static void querystring_cb(const char *name, const char *value) |
110 | { |
111 | { |
111 | if (!strcmp(name,"r")) { |
112 | if (!strcmp(name,"r")) { |
112 | ctx.qry.repo = xstrdup(value); |
113 | ctx.qry.repo = xstrdup(value); |
113 | ctx.repo = cgit_get_repoinfo(value); |
114 | ctx.repo = cgit_get_repoinfo(value); |
114 | } else if (!strcmp(name, "p")) { |
115 | } else if (!strcmp(name, "p")) { |
@@ -431,17 +432,17 @@ int main(int argc, const char **argv) |
431 | const char *cgit_config_env = getenv("CGIT_CONFIG"); |
432 | const char *cgit_config_env = getenv("CGIT_CONFIG"); |
432 | |
433 | |
433 | prepare_context(&ctx); |
434 | prepare_context(&ctx); |
434 | item.st.st_mtime = time(NULL); |
435 | item.st.st_mtime = time(NULL); |
435 | cgit_repolist.length = 0; |
436 | cgit_repolist.length = 0; |
436 | cgit_repolist.count = 0; |
437 | cgit_repolist.count = 0; |
437 | cgit_repolist.repos = NULL; |
438 | cgit_repolist.repos = NULL; |
438 | |
439 | |
439 | cgit_read_config(cgit_config_env ? cgit_config_env : CGIT_CONFIG, |
440 | parse_configfile(cgit_config_env ? cgit_config_env : CGIT_CONFIG, |
440 | config_cb); |
441 | config_cb); |
441 | if (getenv("SCRIPT_NAME")) |
442 | if (getenv("SCRIPT_NAME")) |
442 | ctx.cfg.script_name = xstrdup(getenv("SCRIPT_NAME")); |
443 | ctx.cfg.script_name = xstrdup(getenv("SCRIPT_NAME")); |
443 | if (getenv("QUERY_STRING")) |
444 | if (getenv("QUERY_STRING")) |
444 | ctx.qry.raw = xstrdup(getenv("QUERY_STRING")); |
445 | ctx.qry.raw = xstrdup(getenv("QUERY_STRING")); |
445 | cgit_parse_args(argc, argv); |
446 | cgit_parse_args(argc, argv); |
446 | cgit_parse_query(ctx.qry.raw, querystring_cb); |
447 | cgit_parse_query(ctx.qry.raw, querystring_cb); |
447 | if (!cgit_prepare_cache(&item)) |
448 | if (!cgit_prepare_cache(&item)) |
|