We can find more than one class of whitespace errors on a single line, and we concatenate a message per class in a strbuf, separated with a colon. Use a small helper function to make the code easier to read. Signed-off-by: Junio C Hamano <gitster@xxxxxxxxx> --- * Just a trivial clean-up before waging a "War on nbsp" ws.c | 43 +++++++++++++++++++------------------------ 1 files changed, 19 insertions(+), 24 deletions(-) diff --git a/ws.c b/ws.c index 9fb9b14..3058be4 100644 --- a/ws.c +++ b/ws.c @@ -116,36 +116,31 @@ unsigned whitespace_rule(const char *pathname) } } +static void add_err_item(struct strbuf *err, const char *message) +{ + if (err->len) + strbuf_addstr(err, ", "); + strbuf_addstr(err, message); +} + /* The returned string should be freed by the caller. */ char *whitespace_error_string(unsigned ws) { struct strbuf err = STRBUF_INIT; - if ((ws & WS_TRAILING_SPACE) == WS_TRAILING_SPACE) - strbuf_addstr(&err, "trailing whitespace"); - else { + if ((ws & WS_TRAILING_SPACE) == WS_TRAILING_SPACE) { + add_err_item(&err, "trailing whitespace"); + } else { if (ws & WS_BLANK_AT_EOL) - strbuf_addstr(&err, "trailing whitespace"); - if (ws & WS_BLANK_AT_EOF) { - if (err.len) - strbuf_addstr(&err, ", "); - strbuf_addstr(&err, "new blank line at EOF"); - } - } - if (ws & WS_SPACE_BEFORE_TAB) { - if (err.len) - strbuf_addstr(&err, ", "); - strbuf_addstr(&err, "space before tab in indent"); - } - if (ws & WS_INDENT_WITH_NON_TAB) { - if (err.len) - strbuf_addstr(&err, ", "); - strbuf_addstr(&err, "indent with spaces"); - } - if (ws & WS_TAB_IN_INDENT) { - if (err.len) - strbuf_addstr(&err, ", "); - strbuf_addstr(&err, "tab in indent"); + add_err_item(&err, "trailing whitespace"); + if (ws & WS_BLANK_AT_EOF) + add_err_item(&err, "new blank line at EOF"); } + if (ws & WS_SPACE_BEFORE_TAB) + add_err_item(&err, "space before tab in indent"); + if (ws & WS_INDENT_WITH_NON_TAB) + add_err_item(&err, "indent with spaces"); + if (ws & WS_TAB_IN_INDENT) + add_err_item(&err, "tab in indent"); return strbuf_detach(&err, NULL); } -- 1.7.5.3.503.g893a4 -- 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