Re: git log doesn't allow %x00 in custom format anymore?
flat view
From: Jeff King <hidden>
Date: 2016-06-15 22:49:43
On Thu, Oct 07, 2010 at 07:41:01PM +0200, Erik Faye-Lund wrote:
quoted
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