|
diff --git a/ui-tree.c b/ui-tree.c index a164767..75ec9cb 100644 --- a/ ui-tree.c+++ b/ ui-tree.c |
|
@@ -102,10 +102,16 @@ static void print_object(const unsigned char *sha1, char *path, const char *base |
102 | return; |
102 | return; |
103 | } |
103 | } |
104 | |
104 | |
105 | html(" ("); |
105 | htmlf("blob: %s (", sha1_to_hex(sha1)); |
106 | cgit_plain_link("plain", NULL, NULL, ctx.qry.head, |
106 | cgit_plain_link("plain", NULL, NULL, ctx.qry.head, |
107 | curr_rev, path); |
107 | curr_rev, path); |
108 | htmlf(")<br/>blob: %s\n", sha1_to_hex(sha1)); |
108 | html(")\n"); |
| |
109 | |
| |
110 | if (ctx.cfg.max_blob_size && size / 1024 > ctx.cfg.max_blob_size) { |
| |
111 | htmlf("<div class='error'>blob size (%dKB) exceeds display size limit (%dKB).</div>", |
| |
112 | size / 1024, ctx.cfg.max_blob_size); |
| |
113 | return; |
| |
114 | } |
109 | |
115 | |
110 | if (buffer_is_binary(buf, size)) |
116 | if (buffer_is_binary(buf, size)) |
111 | print_binary_buffer(buf, size); |
117 | print_binary_buffer(buf, size); |
@@ -169,6 +175,8 @@ static int ls_item(const unsigned char *sha1, const char *base, int baselen, |
169 | if (ctx.repo->max_stats) |
175 | if (ctx.repo->max_stats) |
170 | cgit_stats_link("stats", NULL, "button", ctx.qry.head, |
176 | cgit_stats_link("stats", NULL, "button", ctx.qry.head, |
171 | fullpath); |
177 | fullpath); |
| |
178 | cgit_plain_link("plain", NULL, "button", ctx.qry.head, curr_rev, |
| |
179 | fullpath); |
172 | html("</td></tr>\n"); |
180 | html("</td></tr>\n"); |
173 | free(name); |
181 | free(name); |
174 | return 0; |
182 | return 0; |
@@ -217,17 +225,10 @@ static int walk_tree(const unsigned char *sha1, const char *base, int baselen, |
217 | { |
225 | { |
218 | static int state; |
226 | static int state; |
219 | static char buffer[PATH_MAX]; |
227 | static char buffer[PATH_MAX]; |
220 | char *url; |
| |
221 | |
228 | |
222 | if (state == 0) { |
229 | if (state == 0) { |
223 | memcpy(buffer, base, baselen); |
230 | memcpy(buffer, base, baselen); |
224 | strcpy(buffer+baselen, pathname); |
231 | strcpy(buffer+baselen, pathname); |
225 | url = cgit_pageurl(ctx.qry.repo, "tree", |
| |
226 | fmt("h=%s&path=%s", curr_rev, buffer)); |
| |
227 | html("/"); |
| |
228 | cgit_tree_link(xstrdup(pathname), NULL, NULL, ctx.qry.head, |
| |
229 | curr_rev, buffer); |
| |
230 | |
| |
231 | if (strcmp(match_path, buffer)) |
232 | if (strcmp(match_path, buffer)) |
232 | return READ_TREE_RECURSIVE; |
233 | return READ_TREE_RECURSIVE; |
233 | |
234 | |
@@ -270,10 +271,6 @@ void cgit_print_tree(const char *rev, char *path) |
270 | return; |
271 | return; |
271 | } |
272 | } |
272 | |
273 | |
273 | html("path: <a href='"); |
| |
274 | html_attr(cgit_pageurl(ctx.qry.repo, "tree", fmt("h=%s", rev))); |
| |
275 | html("'>root</a>"); |
| |
276 | |
| |
277 | if (path == NULL) { |
274 | if (path == NULL) { |
278 | ls_tree(commit->tree->object.sha1, NULL); |
275 | ls_tree(commit->tree->object.sha1, NULL); |
279 | return; |
276 | return; |
|