From: Johannes Sixt Date: Thu, 22 Dec 2011 08:19:48 GMT Subject: Re: [RFC/PATCH] i18n of multi-line messages Message-ID: <4EF2E824.7020509@viscovery.net> In-Reply-To: <7vaa6ldpk6.fsf@alter.siamese.dyndns.org> Am 12/22/2011 8:38, schrieb Junio C Hamano: > +static void v_format(const char *prefix, const char *fmt, va_list params, > + emit_fn emit, void *cb_data) > +{ > + struct strbuf buf = STRBUF_INIT; > + struct strbuf line = STRBUF_INIT; > + const char *cp, *np; > + > + strbuf_vaddf(&buf, fmt, params); ... > void vreportf(const char *prefix, const char *err, va_list params) > { > - char msg[4096]; > - vsnprintf(msg, sizeof(msg), err, params); > - fprintf(stderr, "%s%s\n", prefix, msg); > + v_format(prefix, err, params, emit_report, NULL); > } Using strbuf (or xmalloc for that matter) from a function that can be called from die() is a big no-no. You should keep the fixed-sized buffer. -- Hannes