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; |
