|
diff --git a/cgit.c b/cgit.c index ac882c3..0deae12 100644 --- a/ cgit.c+++ b/ cgit.c |
|
@@ -143,8 +143,10 @@ static void querystring_cb(const char *name, const char *value) |
143 | } else if (!strcmp(name, "path")) { |
143 | } else if (!strcmp(name, "path")) { |
144 | ctx.qry.path = trim_end(value, '/'); |
144 | ctx.qry.path = trim_end(value, '/'); |
145 | } else if (!strcmp(name, "name")) { |
145 | } else if (!strcmp(name, "name")) { |
146 | ctx.qry.name = xstrdup(value); |
146 | ctx.qry.name = xstrdup(value); |
| |
147 | } else if (!strcmp(name, "mimetype")) { |
| |
148 | ctx.qry.mimetype = xstrdup(value); |
147 | } |
149 | } |
148 | } |
150 | } |
149 | |
151 | |
150 | static void prepare_context(struct cgit_context *ctx) |
152 | static void prepare_context(struct cgit_context *ctx) |
|
|
diff --git a/cgit.h b/cgit.h index 4fa5cf2..1972d75 100644 --- a/ cgit.h+++ b/ cgit.h |
|
@@ -115,8 +115,9 @@ struct cgit_query { |
115 | char *sha1; |
115 | char *sha1; |
116 | char *sha2; |
116 | char *sha2; |
117 | char *path; |
117 | char *path; |
118 | char *name; |
118 | char *name; |
| |
119 | char *mimetype; |
119 | int ofs; |
120 | int ofs; |
120 | }; |
121 | }; |
121 | |
122 | |
122 | struct cgit_config { |
123 | struct cgit_config { |
|
|
diff --git a/ui-blob.c b/ui-blob.c index dd1bbce..73a8c1d 100644 --- a/ ui-blob.c+++ b/ ui-blob.c |
|
@@ -64,9 +64,9 @@ void cgit_print_blob(const char *hex, char *path, const char *head) |
64 | return; |
64 | return; |
65 | } |
65 | } |
66 | |
66 | |
67 | buf[size] = '\0'; |
67 | buf[size] = '\0'; |
68 | ctx.page.mimetype = NULL; |
68 | ctx.page.mimetype = ctx.qry.mimetype; |
69 | ctx.page.filename = path; |
69 | ctx.page.filename = path; |
70 | cgit_print_http_headers(&ctx); |
70 | cgit_print_http_headers(&ctx); |
71 | write(htmlfd, buf, size); |
71 | write(htmlfd, buf, size); |
72 | } |
72 | } |
|