On Tue, 14 Jun 2016 at 23:00:38, Lukas Fleischer wrote: > Improve the readability of recv_sideband() significantly by replacing > fragile buffer manipulations with string buffers and more sophisticated > format strings. Note that each line is printed using a single write() > syscall to avoid garbled output when multiple processes write to stderr > in parallel, see 9ac13ec (atomic write for sideband remote messages, > 2006-10-11) for details. > > Also, reorganize the overall control flow, remove some superfluous > variables and replace a custom implementation of strpbrk() with a call > to the standard C library function. > > Signed-off-by: Lukas Fleischer <lfleischer@xxxxxxx> > --- > Now uses a single write() invocation per line. Thanks to Nicolas and > Junio for bringing 9ac13ec to my attention. > > sideband.c | 97 +++++++++++++++++++++----------------------------------------- > 1 file changed, 33 insertions(+), 64 deletions(-) > > diff --git a/sideband.c b/sideband.c > index fde8adc..8340a1b 100644 > --- a/sideband.c > +++ b/sideband.c > @@ -13,103 +13,72 @@ > [...] > + struct strbuf outbuf = STRBUF_INIT; > [...] > + strbuf_reset(&outbuf); > + strbuf_addf(&outbuf, "%s", PREFIX); > [...] > + /* Incomplete line, skip the next prefix. */ > + strbuf_reset(&outbuf); Missing strbuf_release() at the end of the function, I guess. I will wait for further comments and send v3 tomorrow. Lukas -- 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