]> granicus.if.org Git - cgit/commitdiff
ui-tree: split out buffer printing
authorJohn Keeping <john@keeping.me.uk>
Mon, 18 Jun 2018 06:22:24 +0000 (14:22 +0800)
committerAndy Green <andy@warmcat.com>
Thu, 28 Jun 2018 23:53:20 +0000 (07:53 +0800)
Signed-off-by: John Keeping <john@keeping.me.uk>
ui-tree.c

index e6b3074faa964e7051674bdf75adcf7dfe85c262..d26e35e24fa8fa94152994d6538c02f148d27295 100644 (file)
--- a/ui-tree.c
+++ b/ui-tree.c
@@ -84,6 +84,20 @@ static void print_binary_buffer(char *buf, unsigned long size)
        html("</table>\n");
 }
 
+static void print_buffer(const char *basename, char *buf, unsigned long size)
+{
+       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;
+       }
+
+       if (buffer_is_binary(buf, size))
+               print_binary_buffer(buf, size);
+       else
+               print_text_buffer(basename, buf, size);
+}
+
 static void print_object(const struct object_id *oid, char *path, const char *basename, const char *rev)
 {
        enum object_type type;
@@ -117,16 +131,7 @@ static void print_object(const struct object_id *oid, char *path, const char *ba
        }
        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;
-       }
-
-       if (buffer_is_binary(buf, size))
-               print_binary_buffer(buf, size);
-       else
-               print_text_buffer(basename, buf, size);
+       print_buffer(basename, buf, size);
 
        free(buf);
 }