From: Junio C Hamano Date: Thu, 22 Dec 2011 07:00:43 GMT Subject: Re: [RFC/PATCH] i18n of multi-line messages Message-ID: <7vehvxdrac.fsf@alter.siamese.dyndns.org> In-Reply-To: <4EF2D436.3080303@viscovery.net> Johannes Sixt writes: > Am 12/22/2011 0:55, schrieb Junio C Hamano: >> void advise(const char *advice, ...) >> { >> + struct strbuf buf = STRBUF_INIT; >> va_list params; >> + const char *cp, *np; >> >> va_start(params, advice); >> - vreportf("hint: ", advice, params); >> + strbuf_addf(&buf, advice, params); >> va_end(params); >> + >> + for (cp = buf.buf; *cp; cp = np) { >> + np = strchrnul(cp, '\n'); >> + fprintf(stderr, "%s%.*s\n", _("hint: "), (int)(np - cp), cp); >> + if (*np) >> + np++; >> + } >> + strbuf_release(&buf); >> } > > IMHO, this logic should be moved into vreportf(), and we get proper > prefixing of multi-line warning(), error(), and die() messages for free. Very very good point.