On Tue, 8 Jan 2008, Junio C Hamano wrote: > As an old fashoned git myself, and given the fact that the > possible prefix and suffix are small number of short constant > strings, I actually prefer a simpler-and-more-stupid approach. OK. However I think the following on top of your patch would look cleaner: diff --git a/sideband.c b/sideband.c index 91e462c..b677781 100644 --- a/sideband.c +++ b/sideband.c @@ -14,19 +14,24 @@ #define PREFIX "remote:" +#define ANSI_SUFFIX "\033[K" +#define DUMB_SUFFIX " " + +#define FIX_SIZE 10 /* large enough for any of the above */ + int recv_sideband(const char *me, int in_stream, int out, int err) { unsigned pf = strlen(PREFIX); unsigned sf; - char buf[LARGE_PACKET_MAX + 100]; /* for marker slop */ + char buf[LARGE_PACKET_MAX + 2*FIX_SIZE]; char *suffix, *term; memcpy(buf, PREFIX, pf); term = getenv("TERM"); if (term && strcmp(term, "dumb")) - suffix = "\033[K"; + suffix = ANSI_SUFFIX; else - suffix = " "; + suffix = DUMB_SUFFIX; sf = strlen(suffix); while (1) { @@ -67,7 +72,7 @@ int recv_sideband(const char *me, int in_stream, int out, int err) * line data actually contains something. */ if (brk > pf+1 + 1) { - char save[100]; /* enough slop */ + char save[FIX_SIZE]; memcpy(save, buf + brk, sf); buf[brk + sf - 1] = buf[brk - 1]; memcpy(buf + brk - 1, suffix, sf); - 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