summaryrefslogtreecommitdiffabout
path: root/cgit.c
authorLars Hjemli <hjemli@gmail.com>2009-08-09 11:45:36 (UTC)
committer Lars Hjemli <hjemli@gmail.com>2009-08-09 11:45:36 (UTC)
commit17e3ff42646f182911fd0e5d872082977538db9e (patch) (unidiff)
tree6fedf480751b534ac11066dd143fd0589cad284a /cgit.c
parentb4c3562f57c924866314d0f80f46dddecd4ce61a (diff)
parentc4d46c7035d07070ac1ebf0c0b44df927358687f (diff)
downloadcgit-17e3ff42646f182911fd0e5d872082977538db9e.zip
cgit-17e3ff42646f182911fd0e5d872082977538db9e.tar.gz
cgit-17e3ff42646f182911fd0e5d872082977538db9e.tar.bz2
Merge branch 'lh/mimetypes'
Diffstat (limited to 'cgit.c') (more/less context) (ignore whitespace changes)
-rw-r--r--cgit.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/cgit.c b/cgit.c
index f6bb0c7..aa1107a 100644
--- a/cgit.c
+++ b/cgit.c
@@ -17,6 +17,14 @@
17 17
18const char *cgit_version = CGIT_VERSION; 18const char *cgit_version = CGIT_VERSION;
19 19
20void add_mimetype(const char *name, const char *value)
21{
22 struct string_list_item *item;
23
24 item = string_list_insert(xstrdup(name), &ctx.cfg.mimetypes);
25 item->util = xstrdup(value);
26}
27
20void config_cb(const char *name, const char *value) 28void config_cb(const char *name, const char *value)
21{ 29{
22 if (!strcmp(name, "root-title")) 30 if (!strcmp(name, "root-title"))
@@ -103,6 +111,8 @@ void config_cb(const char *name, const char *value)
103 ctx.cfg.clone_prefix = xstrdup(value); 111 ctx.cfg.clone_prefix = xstrdup(value);
104 else if (!strcmp(name, "local-time")) 112 else if (!strcmp(name, "local-time"))
105 ctx.cfg.local_time = atoi(value); 113 ctx.cfg.local_time = atoi(value);
114 else if (!prefixcmp(name, "mimetype."))
115 add_mimetype(name + 9, value);
106 else if (!strcmp(name, "repo.group")) 116 else if (!strcmp(name, "repo.group"))
107 ctx.cfg.repo_group = xstrdup(value); 117 ctx.cfg.repo_group = xstrdup(value);
108 else if (!strcmp(name, "repo.url")) 118 else if (!strcmp(name, "repo.url"))
@@ -215,6 +225,7 @@ static void prepare_context(struct cgit_context *ctx)
215 ctx->page.modified = time(NULL); 225 ctx->page.modified = time(NULL);
216 ctx->page.expires = ctx->page.modified; 226 ctx->page.expires = ctx->page.modified;
217 ctx->page.etag = NULL; 227 ctx->page.etag = NULL;
228 memset(&ctx->cfg.mimetypes, 0, sizeof(struct string_list));
218} 229}
219 230
220struct refmatch { 231struct refmatch {