From: Jeff King Date: Thu, 07 Oct 2010 17:50:48 GMT Subject: Re: git log doesn't allow %x00 in custom format anymore? Message-ID: <20101007175048.GA18518@sigill.intra.peff.net> In-Reply-To: On Thu, Oct 07, 2010 at 07:41:01PM +0200, Erik Faye-Lund wrote: > > diff --git a/builtin/rev-list.c b/builtin/rev-list.c > > index efe9360..3b2dca0 100644 > > --- a/builtin/rev-list.c > > +++ b/builtin/rev-list.c > > @@ -147,8 +147,10 @@ static void show_commit(struct commit *commit, void *data) > >                        } > >                } else { > >                        if (revs->commit_format != CMIT_FMT_USERFORMAT || > > -                           buf.len) > > -                               printf("%s%c", buf.buf, info->hdr_termination); > > +                           buf.len) { > > +                               fwrite(buf.buf, 1, buf.len, stdout); > > +                               putchar(info->hdr_termination); > > +                       } > >                } > >                strbuf_release(&buf); > >        } else { > > This gives me a bit of a deja-vu: 1fb5fdd > > Also, fwriting like that to stdout might be a bit troublesome on > Windows because the string won't end up going through our > ANSI-emulation. I don't know enough about the Windows output code paths to comment on that. But this is almost identical to the fwrite in graph_show_commit that we use for the "rev-list --graph" show path. If there is a fix, it needs to be made to both places. -Peff