Separate the call to add 4-space indent, and a new helper to add a line after de-tabifying. The new helper function strbuf_add_tabexpand() could later be moved to strbuf.[ch] if other callers need to. Signed-off-by: Junio C Hamano <gitster@xxxxxxxxx> --- pretty.c | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/pretty.c b/pretty.c index 6d657fc..717ceed 100644 --- a/pretty.c +++ b/pretty.c @@ -1643,18 +1643,12 @@ static int pp_utf8_width(const char *start, const char *end) return width; } -/* - * pp_handle_indent() prints out the intendation, and - * the whole line (without the final newline), after - * de-tabifying. - */ -static void pp_handle_indent(struct strbuf *sb, int indent, - const char *line, int linelen) + +static void strbuf_add_tabexpand(struct strbuf *sb, + const char *line, int linelen) { const char *tab; - strbuf_addchars(sb, ' ', indent); - while ((tab = memchr(line, '\t', linelen)) != NULL) { int width = pp_utf8_width(line, tab); @@ -1686,6 +1680,18 @@ static void pp_handle_indent(struct strbuf *sb, int indent, strbuf_add(sb, line, linelen); } +/* + * pp_handle_indent() prints out the intendation, and + * the whole line (without the final newline), after + * de-tabifying. + */ +static void pp_handle_indent(struct strbuf *sb, int indent, + const char *line, int linelen) +{ + strbuf_addchars(sb, ' ', indent); + strbuf_add_tabexpand(sb, line, linelen); +} + void pp_remainder(struct pretty_print_context *pp, const char **msg_p, struct strbuf *sb, -- 2.8.0-rc4-198-g3f6b64c -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html