-rw-r--r-- | cgit.c | 2 | ||||
-rw-r--r-- | cgit.h | 1 | ||||
-rw-r--r-- | ui-blob.c | 2 |
3 files changed, 4 insertions, 1 deletions
@@ -143,8 +143,10 @@ static void querystring_cb(const char *name, const char *value) } else if (!strcmp(name, "path")) { ctx.qry.path = trim_end(value, '/'); } else if (!strcmp(name, "name")) { ctx.qry.name = xstrdup(value); + } else if (!strcmp(name, "mimetype")) { + ctx.qry.mimetype = xstrdup(value); } } static void prepare_context(struct cgit_context *ctx) @@ -115,8 +115,9 @@ struct cgit_query { char *sha1; char *sha2; char *path; char *name; + char *mimetype; int ofs; }; struct cgit_config { @@ -64,9 +64,9 @@ void cgit_print_blob(const char *hex, char *path, const char *head) return; } buf[size] = '\0'; - ctx.page.mimetype = NULL; + ctx.page.mimetype = ctx.qry.mimetype; ctx.page.filename = path; cgit_print_http_headers(&ctx); write(htmlfd, buf, size); } |