diff options
Diffstat (limited to 'ui-tree.c')
-rw-r--r-- | ui-tree.c | 23 |
1 files changed, 10 insertions, 13 deletions
@@ -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; |