diff options
-rw-r--r-- | log-tree.c | 28 |
1 files changed, 16 insertions, 12 deletions
diff --git a/log-tree.c b/log-tree.c index 142ba51427..005c5a51c0 100644 --- a/log-tree.c +++ b/log-tree.c @@ -404,13 +404,27 @@ void log_write_email_headers(struct rev_info *opt, struct commit *commit, *extra_headers_p = extra_headers; } +static void show_sig_lines(struct rev_info *opt, int status, const char *bol) +{ + const char *color, *reset, *eol; + + color = diff_get_color_opt(&opt->diffopt, + status ? DIFF_WHITESPACE : DIFF_FRAGINFO); + reset = diff_get_color_opt(&opt->diffopt, DIFF_RESET); + while (*bol) { + eol = strchrnul(bol, '\n'); + printf("%s%.*s%s%s", color, (int)(eol - bol), bol, reset, + *eol ? "\n" : ""); + bol = (*eol) ? (eol + 1) : eol; + } +} + static void show_signature(struct rev_info *opt, struct commit *commit) { struct strbuf payload = STRBUF_INIT; struct strbuf signature = STRBUF_INIT; struct strbuf gpg_output = STRBUF_INIT; int status; - const char *color, *reset, *bol, *eol; if (parse_signed_commit(commit->object.sha1, &payload, &signature) <= 0) goto out; @@ -421,17 +435,7 @@ static void show_signature(struct rev_info *opt, struct commit *commit) if (status && !gpg_output.len) strbuf_addstr(&gpg_output, "No signature\n"); - color = diff_get_color_opt(&opt->diffopt, - status ? DIFF_WHITESPACE : DIFF_FRAGINFO); - reset = diff_get_color_opt(&opt->diffopt, DIFF_RESET); - - bol = gpg_output.buf; - while (*bol) { - eol = strchrnul(bol, '\n'); - printf("%s%.*s%s%s", color, (int)(eol - bol), bol, reset, - *eol ? "\n" : ""); - bol = (*eol) ? (eol + 1) : eol; - } + show_sig_lines(opt, status, gpg_output.buf); out: strbuf_release(&gpg_output); |