Re: [PATCH/RFC] recv_sideband: Band #2 always goes to stderr
- From
Nicolas Pitre <nico@cam.org>
- Date
- Mar 10, 2009, 17:35 UTC
- Message-ID
- <alpine.LFD.2.00.0903101329370.30483@xanadu.home>
- In-Reply-To
- <49B683BC.3030104@viscovery.net>
On Tue, 10 Mar 2009, Johannes Sixt wrote:
Show 8 quoted lines
> Johannes Schindelin schrieb: > > I think, indeed, that you can avoid the memcpy() by using %.*s. The > > private buffer is only used to make sure that the text is written in one > > go anyway (i.e. that two sidebands messages are not written to the same > > line because they use multiple calls to fprintf()/fwrite() per line), > > right? > > It must be something like that, yes. ;)
It is a bit more complex than that.
Messages received over sideband #2 may have two kinds of line break characters: \r or \n. We also have a string suffix which is used to clear the remaining of the screen line in those cases where a previous line is overwritten and the previous line was longer. That may happen if the previous line was terminated with \r. In that case, the string suffix _must_ be inserted before the line break character for obvious reasons.
Nicolas