Johannes Sixt [off-list ref] wrote:
From: Johannes Sixt <redacted>
This removes the last parameter of recv_sideband, by which the callers
told which channel band #2 data should be written to. Since both callers
of the function passed 2 for the parameter, we hereby remove the
parameter and send band #2 to stderr explicitly using fprintf.
This has the nice side-effect that the band #2 data (most importantly
progress reports during a fetch operation) passes through our ANSI
emulation layer on Windows.
Signed-off-by: Johannes Sixt <redacted>
Looks right to me.
quoted hunk ↗ jump to hunk
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...
quoted hunk ↗ jump to hunk
@@ -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?
--
Shawn.