summaryrefslogtreecommitdiffabout
path: root/cgit.c
Unidiff
Diffstat (limited to 'cgit.c') (more/less context) (ignore whitespace changes)
-rw-r--r--cgit.c5
1 files changed, 3 insertions, 2 deletions
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
14const char *cgit_version = CGIT_VERSION; 15const char *cgit_version = CGIT_VERSION;
15 16
16void config_cb(const char *name, const char *value) 17void 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
109static void querystring_cb(const char *name, const char *value) 110static 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))