-rw-r--r-- | ui-tree.c | 27 |
1 files changed, 12 insertions, 15 deletions
@@ -48,3 +48,3 @@ static void print_text_buffer(const char *name, char *buf, unsigned long size) cgit_open_filter(ctx.repo->source_filter); - write(STDOUT_FILENO, buf, size); + html_raw(buf, size); cgit_close_filter(ctx.repo->source_filter); @@ -69,3 +69,3 @@ static void print_binary_buffer(char *buf, unsigned long size) for (ofs = 0; ofs < size; ofs += ROWLEN, buf += ROWLEN) { - htmlf("<tr><td class='right'>%04x</td><td class='hex'>", ofs); + htmlf("<tr><td class='right'>%04lx</td><td class='hex'>", ofs); for (idx = 0; idx < ROWLEN && ofs + idx < size; idx++) @@ -104,6 +104,12 @@ static void print_object(const unsigned char *sha1, char *path, const char *base - html(" ("); + htmlf("blob: %s (", sha1_to_hex(sha1)); cgit_plain_link("plain", NULL, NULL, ctx.qry.head, curr_rev, path); - htmlf(")<br/>blob: %s\n", sha1_to_hex(sha1)); + html(")\n"); + + if (ctx.cfg.max_blob_size && size / 1024 > ctx.cfg.max_blob_size) { + htmlf("<div class='error'>blob size (%ldKB) exceeds display size limit (%dKB).</div>", + size / 1024, ctx.cfg.max_blob_size); + return; + } @@ -171,2 +177,4 @@ static int ls_item(const unsigned char *sha1, const char *base, int baselen, fullpath); + cgit_plain_link("plain", NULL, "button", ctx.qry.head, curr_rev, + fullpath); html("</td></tr>\n"); @@ -219,3 +227,2 @@ static int walk_tree(const unsigned char *sha1, const char *base, int baselen, static char buffer[PATH_MAX]; - char *url; @@ -224,8 +231,2 @@ static int walk_tree(const unsigned char *sha1, const char *base, int baselen, strcpy(buffer+baselen, pathname); - url = cgit_pageurl(ctx.qry.repo, "tree", - fmt("h=%s&path=%s", curr_rev, buffer)); - html("/"); - cgit_tree_link(xstrdup(pathname), NULL, NULL, ctx.qry.head, - curr_rev, buffer); - if (strcmp(match_path, buffer)) @@ -272,6 +273,2 @@ void cgit_print_tree(const char *rev, char *path) - html("path: <a href='"); - html_attr(cgit_pageurl(ctx.qry.repo, "tree", fmt("h=%s", rev))); - html("'>root</a>"); - if (path == NULL) { |