From a5985237878481af5fbca349d0d1ad7d6b2d2bcb Mon Sep 17 00:00:00 2001 From: Jeff King Date: Mon, 7 May 2012 17:02:18 -0400 Subject: [PATCH] status: fix null termination with "-b" When the "-z" option is given to status, we are supposed to NUL-terminate each record. However, the "-b" code to show the tracking branch did not respect this, and always ended with a newline. Signed-off-by: Jeff King --- t/t7508-status.sh | 9 +++++++++ wt-status.c | 7 ++++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/t/t7508-status.sh b/t/t7508-status.sh index fc57b135c5..24728facf9 100755 --- a/t/t7508-status.sh +++ b/t/t7508-status.sh @@ -271,6 +271,15 @@ test_expect_success 'status -s -b' ' ' +test_expect_success 'status -s -z -b' ' + tr "\\n" Q expect.q && + mv expect.q expect && + git status -s -z -b >output && + nul_to_q output.q && + mv output.q output && + test_cmp expect output +' + test_expect_success 'setup dir3' ' mkdir dir3 && : >dir3/untracked1 && diff --git a/wt-status.c b/wt-status.c index afb4bd7d76..b5305ae5f4 100644 --- a/wt-status.c +++ b/wt-status.c @@ -889,8 +889,8 @@ static void wt_shortstatus_print_tracking(struct wt_status *s) if (s->is_initial) color_fprintf(s->fp, header_color, _("Initial commit on ")); if (!stat_tracking_info(branch, &num_ours, &num_theirs)) { - color_fprintf_ln(s->fp, branch_color_local, - "%s", branch_name); + color_fprintf(s->fp, branch_color_local, "%s", branch_name); + fputc(s->null_termination ? '\0' : '\n', s->fp); return; } @@ -914,7 +914,8 @@ static void wt_shortstatus_print_tracking(struct wt_status *s) color_fprintf(s->fp, branch_color_remote, "%d", num_theirs); } - color_fprintf_ln(s->fp, header_color, "]"); + color_fprintf(s->fp, header_color, "]"); + fputc(s->null_termination ? '\0' : '\n', s->fp); } void wt_shortstatus_print(struct wt_status *s, int show_branch) -- 2.11.4.GIT