From mboxrd@z Thu Jan 1 00:00:00 1970 From: andy at warmcat.com (Andy Green) Date: Wed, 13 Jun 2018 10:01:50 +0800 Subject: [PATCH 04/11] ui-tree: split out buffer printing In-Reply-To: <152885510454.7253.3542488576272033383.stgit@mail.warmcat.com> References: <152885510454.7253.3542488576272033383.stgit@mail.warmcat.com> Message-ID: <152885531028.7253.7821135402073904601.stgit@mail.warmcat.com> From: John Keeping Signed-off-by: John Keeping --- ui-tree.c | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/ui-tree.c b/ui-tree.c index 67fd1bc..009e201 100644 --- a/ui-tree.c +++ b/ui-tree.c @@ -84,6 +84,20 @@ static void print_binary_buffer(char *buf, unsigned long size) html("\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("
blob size (%ldKB) exceeds display size limit (%dKB).
", + 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 unsigned char *sha1, char *path, const char *basename, const char *rev) { enum object_type type; @@ -117,16 +131,7 @@ static void print_object(const unsigned char *sha1, char *path, const char *base } html(")\n"); - if (ctx.cfg.max_blob_size && size / 1024 > ctx.cfg.max_blob_size) { - htmlf("
blob size (%ldKB) exceeds display size limit (%dKB).
", - 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); } struct single_tree_ctx {