diff options
Diffstat (limited to 'ui-summary.c')
-rw-r--r-- | ui-summary.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/ui-summary.c b/ui-summary.c index fb04dc3..8e81ac4 100644 --- a/ui-summary.c +++ b/ui-summary.c | |||
@@ -9,9 +9,10 @@ | |||
9 | #include "cgit.h" | 9 | #include "cgit.h" |
10 | #include "ui-summary.h" | 10 | #include "ui-summary.h" |
11 | #include "html.h" | 11 | #include "html.h" |
12 | #include "ui-blob.h" | ||
12 | #include "ui-log.h" | 13 | #include "ui-log.h" |
14 | #include "ui-plain.h" | ||
13 | #include "ui-refs.h" | 15 | #include "ui-refs.h" |
14 | #include "ui-blob.h" | ||
15 | #include "ui-shared.h" | 16 | #include "ui-shared.h" |
16 | 17 | ||
17 | static int urls; | 18 | static int urls; |
@@ -100,9 +101,19 @@ static char* append_readme_path(const char *filename, const char *ref, const cha | |||
100 | 101 | ||
101 | void cgit_print_repo_readme(char *path) | 102 | void cgit_print_repo_readme(char *path) |
102 | { | 103 | { |
103 | char *filename, *ref; | 104 | char *filename, *ref, *mimetype; |
104 | int free_filename = 0; | 105 | int free_filename = 0; |
105 | 106 | ||
107 | mimetype = get_mimetype_for_filename(path); | ||
108 | if (mimetype && (!strncmp(mimetype, "image/", 6) || !strncmp(mimetype, "video/", 6))) { | ||
109 | ctx.page.mimetype = mimetype; | ||
110 | ctx.page.charset = NULL; | ||
111 | cgit_print_plain(); | ||
112 | free(mimetype); | ||
113 | return; | ||
114 | } | ||
115 | free(mimetype); | ||
116 | |||
106 | cgit_print_layout_start(); | 117 | cgit_print_layout_start(); |
107 | if (ctx.repo->readme.nr == 0) | 118 | if (ctx.repo->readme.nr == 0) |
108 | goto done; | 119 | goto done; |