On Sun, 9 Aug 2009, Johannes Schindelin wrote:
quoted
+ strbuf_addstr(&buf, "capabilities\n");
+ write_in_full(helper->in, buf.buf, buf.len);
+ strbuf_reset(&buf);
Hmm. I think you use the same paradigm three times. Maybe it is time to
heed the DRY principle and introduce a helper function?
Maybe something like
void fprintf_in_full(struct strbuf *buf, int fd, const char *format, ...)
{
va_list ap;
va_start(ap, format);
strbuf_reset(buf);
strbuf_vaddf(buf, format, ap);
write_in_full(fd, buf->buf, buf->len);
va_end(ap);
}
But I keep forgetting that there is no strbuf_vaddf() in 'next'... maybe
it is high time that I forget my promise and re-submit that series?
Yup, that's exactly what I started writing, until I ran into the lack of
strbuf_vaddf() and remembered that there were portability issues I don't
understand with copying va_lists.
-Daniel
*This .sig left intentionally blank*