aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2024-10-03 17:11:31 -0400
committerJunio C Hamano <gitster@pobox.com>2024-10-03 14:22:22 -0700
commit19752d9c912478b9eef0bd83c2cf6da98974f536 (patch)
tree852c5fc788c671de00fded477b47a855000f2f9e
parentdiff: return const char from output_prefix callback (diff)
downloadgit-19752d9c912478b9eef0bd83c2cf6da98974f536.tar.gz
git-19752d9c912478b9eef0bd83c2cf6da98974f536.zip
diff: return line_prefix directly when possible
We may point our output_prefix callback to diff_output_prefix_callback() in any of these cases: 1. we have a user-provided line_prefix 2. we have a graph prefix to show 3. both (1) and (2) The function combines the available elements into a strbuf and returns its pointer. In the case that we just have the line_prefix, though, there is no need for the strbuf. We can return the string directly. This is a minor optimization by itself, but also will allow us to clean up some memory ownership issues on top. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--graph.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/graph.c b/graph.c
index 6a4db229bb..c8833ecc3e 100644
--- a/graph.c
+++ b/graph.c
@@ -316,6 +316,9 @@ static const char *diff_output_prefix_callback(struct diff_options *opt, void *d
assert(opt);
+ if (!graph)
+ return opt->line_prefix;
+
strbuf_reset(&msgbuf);
if (opt->line_prefix)
strbuf_addstr(&msgbuf, opt->line_prefix);