diff options
author | C. McEnroe <june@causal.agency> | 2019-12-18T21·32+0000 |
---|---|---|
committer | Vincent Ambo <tazjin@google.com> | 2020-02-21T21·02+0000 |
commit | 6932c431bb4374ae357d08577f52ede0929502ef (patch) | |
tree | 0d20d9a057023a569216a40b1c4240d4e98b9c5e | |
parent | 37b0b37771f066775120e8f3932bd68c34d57e8a (diff) |
feat(cgit/ui-tree): don't link to blame for binary blobs
-rw-r--r-- | third_party/cgit/ui-tree.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/third_party/cgit/ui-tree.c b/third_party/cgit/ui-tree.c index 84eb17d6470d..c4f2dac466aa 100644 --- a/third_party/cgit/ui-tree.c +++ b/third_party/cgit/ui-tree.c @@ -89,6 +89,7 @@ static void print_object(const struct object_id *oid, const char *path, const ch enum object_type type; char *buf; unsigned long size; + int is_binary; type = oid_object_info(the_repository, oid, &size); if (type == OBJ_BAD) { @@ -103,6 +104,7 @@ static void print_object(const struct object_id *oid, const char *path, const ch "Error reading object %s", oid_to_hex(oid)); return; } + is_binary = buffer_is_binary(buf, size); cgit_set_title_from_path(path); @@ -110,7 +112,7 @@ static void print_object(const struct object_id *oid, const char *path, const ch htmlf("blob: %s (", oid_to_hex(oid)); cgit_plain_link("plain", NULL, NULL, ctx.qry.head, rev, path); - if (ctx.repo->enable_blame) { + if (ctx.repo->enable_blame && !is_binary) { html(") ("); cgit_blame_link("blame", NULL, NULL, ctx.qry.head, rev, path); @@ -123,7 +125,7 @@ static void print_object(const struct object_id *oid, const char *path, const ch return; } - if (buffer_is_binary(buf, size)) + if (is_binary) print_binary_buffer(buf, size); else print_text_buffer(basename, buf, size); |