summary refs log tree commit diff
path: root/ui-tree.c
diff options
context:
space:
mode:
Diffstat (limited to 'ui-tree.c')
-rw-r--r--ui-tree.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/ui-tree.c b/ui-tree.c
index a164767..0ee38f2 100644
--- a/ui-tree.c
+++ b/ui-tree.c
@@ -107,6 +107,12 @@ static void print_object(const unsigned char *sha1, char *path, const char *base
 		        curr_rev, path);
 	htmlf(")<br/>blob: %s\n", sha1_to_hex(sha1));
 
+	if (ctx.cfg.max_blob_size && size / 1024 > ctx.cfg.max_blob_size) {
+		htmlf("<div class='error'>blob size (%dKB) exceeds display size limit (%dKB).</div>",
+				size / 1024, ctx.cfg.max_blob_size);
+		return;
+	}
+
 	if (buffer_is_binary(buf, size))
 		print_binary_buffer(buf, size);
 	else
@@ -169,6 +175,8 @@ static int ls_item(const unsigned char *sha1, const char *base, int baselen,
 	if (ctx.repo->max_stats)
 		cgit_stats_link("stats", NULL, "button", ctx.qry.head,
 				fullpath);
+	cgit_plain_link("plain", NULL, "button", ctx.qry.head, curr_rev,
+			fullpath);
 	html("</td></tr>\n");
 	free(name);
 	return 0;