From: Johannes Sixt <j.sixt@viscovery.net>
To: "Shawn O. Pearce" <spearce@spearce.org>
Cc: Johannes Schindelin <johannes.schindelin@gmx.de>,
git@vger.kernel.org, gitster@pobox.com,
Peter Harris <git@peter.is-a-geek.org>,
Sebastian Schuberth <sschuberth@gmail.com>,
Nicolas Pitre <nico@cam.org>
Subject: Re: [PATCH/RFC] recv_sideband: Band #2 always goes to stderr
Date: Tue, 10 Mar 2009 16:02:15 +0100 [thread overview]
Message-ID: <49B680F7.4040103@viscovery.net> (raw)
In-Reply-To: <20090310144646.GQ11989@spearce.org>
Shawn O. Pearce schrieb:
> Johannes Sixt <j.sixt@viscovery.net> wrote:
>> diff --git a/sideband.c b/sideband.c
>> index cca3360..a706ac8 100644
>> --- a/sideband.c
>> +++ b/sideband.c
>> @@ -50,8 +49,8 @@ int recv_sideband(const char *me, int in_stream, int out, int err)
>> switch (band) {
>> case 3:
>> buf[pf] = ' ';
>> - buf[pf+1+len] = '\n';
>> - safe_write(err, buf, pf+1+len+1);
>> + buf[pf+1+len] = '\0';
>> + fprintf(stderr, "%s\n", buf);
>
> Can't you instead do:
>
> fprintf(stderr, "%.*s\n", buf, pf + len);
>
> like you do...
>
>> @@ -95,12 +94,13 @@ int recv_sideband(const char *me, int in_stream, int out, int err)
>> memcpy(save, b + brk, sf);
>> b[brk + sf - 1] = b[brk - 1];
>> memcpy(b + brk - 1, suffix, sf);
>> - safe_write(err, b, brk + sf);
>> + fprintf(stderr, "%.*s", brk + sf, b);
>> memcpy(b + brk, save, sf);
>> len -= brk;
>> } else {
>> int l = brk ? brk : len;
>> - safe_write(err, b, l);
>> + if (l > 0)
>> + fprintf(stderr, "%.*s", l, b);
>
> here?
I deliberatly avoided "%.*s" in the former hunk (1) because of the posts
that we had yesterday about potentially misbehaved fprintf in the case
where the precision is 0; and (2) because it was so easy to avoid it. I
don't think we need ultimate performance in this case, and I also consider
the plain "%s\n" more readable.
That said, the second hunk is really only the minimal change and I'd like
to rewrite it to get rid of the memcpy stuff. It is really not needed once
fprintf is in the game. But that's a separate patch.
-- Hannes
next prev parent reply other threads:[~2009-03-10 15:03 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <cover.1236639280u.git.johannes.schindelin@gmx.de>
2009-03-10 0:41 ` [PATCH] winansi: support ESC [ K (erase in line) Johannes Schindelin
2009-03-10 7:15 ` Johannes Sixt
2009-03-10 7:30 ` [PATCH/RFC] recv_sideband: Band #2 always goes to stderr Johannes Sixt
2009-03-10 10:56 ` Johannes Schindelin
2009-03-10 11:11 ` Johannes Sixt
2009-03-10 11:17 ` Johannes Sixt
2009-03-10 11:39 ` Johannes Schindelin
2009-03-10 12:14 ` Johannes Sixt
2009-03-10 12:52 ` Johannes Schindelin
2009-03-10 14:26 ` Johannes Sixt
2009-03-10 14:38 ` Shawn O. Pearce
2009-03-10 14:46 ` Johannes Schindelin
2009-03-10 23:59 ` Junio C Hamano
2009-03-10 14:46 ` Shawn O. Pearce
2009-03-10 15:02 ` Johannes Sixt [this message]
2009-03-10 15:07 ` Johannes Schindelin
2009-03-10 15:14 ` Johannes Sixt
2009-03-10 17:35 ` Nicolas Pitre
2009-03-10 16:35 ` Jay Soffian
2009-03-10 17:37 ` Nicolas Pitre
2009-03-10 21:54 ` [PATCH 1/2] recv_sideband: Bands #2 and #3 always go " Johannes Sixt
2009-03-10 21:58 ` [PATCH 2/2] winansi: support ESC [ K (erase in line) Johannes Sixt
2009-03-11 10:22 ` Johannes Schindelin
2009-03-10 11:31 ` [PATCH] " Johannes Schindelin
2009-03-10 12:29 ` Peter Harris
2009-03-10 12:54 ` Johannes Schindelin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=49B680F7.4040103@viscovery.net \
--to=j.sixt@viscovery.net \
--cc=git@peter.is-a-geek.org \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=johannes.schindelin@gmx.de \
--cc=nico@cam.org \
--cc=spearce@spearce.org \
--cc=sschuberth@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).