This adds a %z format which prints out a null character. This allows for easier machine parsing of multiline data. It is also necessary to use write to print out the data since printf will terminate at a null. That in turn requires that an fflush be executed before the write to preserve the order the data is printed. Signed-off-by: Govind Salinas <blix@xxxxxxxxxxxxxxxxx> --- log-tree.c | 7 +++++-- pretty.c | 3 +++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/log-tree.c b/log-tree.c index 608f697..e116a1f 100644 --- a/log-tree.c +++ b/log-tree.c @@ -308,8 +308,11 @@ void show_log(struct rev_info *opt, const char *sep) if (opt->show_log_size) printf("log size %i\n", (int)msgbuf.len); - if (msgbuf.len) - printf("%s%s%s", msgbuf.buf, extra, sep); + if (msgbuf.len) { + fflush(stdout); + write(STDOUT_FILENO, msgbuf.buf, msgbuf.len); + printf("%s%s", extra, sep); + } strbuf_release(&msgbuf); } diff --git a/pretty.c b/pretty.c index 703f521..fd155ec 100644 --- a/pretty.c +++ b/pretty.c @@ -478,6 +478,9 @@ static size_t format_commit_item(struct strbuf *sb, const char *placeholder, case 'n': /* newline */ strbuf_addch(sb, '\n'); return 1; + case 'z': /* null */ + strbuf_addch(sb, '\0'); + return 1; } /* these depend on the commit */ -- 1.5.4.4.552.g9987b -- 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