Re: [PATCH v2 2/2] bisect: output bisect setup status in bisect log
- From
Junio C Hamano <gitster@pobox.com>
- Date
- May 9, 2022, 16:08 UTC
- Message-ID
- <xmqqv8ueelip.fsf@gitster.g>
- In-Reply-To
- <Ynk2q1XVGsLPvALn@nand.local>
Taylor Blau <me@ttaylorr.com> writes:
Show 34 quoted lines
> On Fri, May 06, 2022 at 11:18:25AM -0700, Junio C Hamano wrote:
>> Chris Down <chris@chrisdown.name> writes:
>>
>> > +__attribute__((format (printf, 1, 2)))
>> > +static void bisect_log_printf(const char *fmt, ...)
>> > +{
>> > + va_list ap;
>> > + char buf[1024];
>> > +
>> > + va_start(ap, fmt);
>> > + if (vsnprintf(buf, sizeof(buf), fmt, ap) < 0)
>> > + *buf = '\0';
>> > + va_end(ap);
>>
>> We should just do
>>
>> struct strbuf buf = STRBUF_INIT;
>>
>> va_start(ap, fmt);
>> strbuf_vaddf(&buf, fmt, ap);
>> va_end(ap);
>>
>> > + printf("%s", buf);
>> > + append_to_file(git_path_bisect_log(), "# %s", buf);
>>
>> and free the resource with
>>
>> strbuf_release(&buf);
>>
>> I think.
>
> I don't think so. bisect_log_printf() has only one caller, which is
> bisect_print_status(). Couldn't the latter manage its own strbuf without
> the need to introduce a new varargs function?I actually was hoping that other existing informational messages prefixed with "Bisecting:" (i.e. those that tells you how many steps are remaining) can go as similar comments to the log file; they are currently written with plain-vanilla printf(3), and could use this one instead.