wt-status: print to s->fp, not stdout
We pass around a `FILE *` in the `struct wt_status` and almost always print to it. But in a few places, we write to `stdout` instead, either explicitly through `fprintf(stdout, ...)` or implicitly with `printf(...)` (and a few `putchar(...)`). Always be explicit about writing to `s->fp`. To the best of my understanding, this never mattered in practice because these spots are involved in various forms of `git status` which always end up at standard output anyway. When we do write to another file, it's because we're creating a commit message template, and these code paths aren't involved. But let's be consistent to help future readers and avoid future bugs. Signed-off-by: Martin Ågren <martin.agren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
b1f1ade87b
commit
8f7e3de097
57
wt-status.c
57
wt-status.c
@ -1801,29 +1801,36 @@ static void wt_longstatus_print(struct wt_status *s)
|
||||
; /* nothing */
|
||||
else if (s->workdir_dirty) {
|
||||
if (s->hints)
|
||||
printf(_("no changes added to commit "
|
||||
"(use \"git add\" and/or \"git commit -a\")\n"));
|
||||
fprintf(s->fp, _("no changes added to commit "
|
||||
"(use \"git add\" and/or "
|
||||
"\"git commit -a\")\n"));
|
||||
else
|
||||
printf(_("no changes added to commit\n"));
|
||||
fprintf(s->fp, _("no changes added to "
|
||||
"commit\n"));
|
||||
} else if (s->untracked.nr) {
|
||||
if (s->hints)
|
||||
printf(_("nothing added to commit but untracked files "
|
||||
"present (use \"git add\" to track)\n"));
|
||||
fprintf(s->fp, _("nothing added to commit but "
|
||||
"untracked files present (use "
|
||||
"\"git add\" to track)\n"));
|
||||
else
|
||||
printf(_("nothing added to commit but untracked files present\n"));
|
||||
fprintf(s->fp, _("nothing added to commit but "
|
||||
"untracked files present\n"));
|
||||
} else if (s->is_initial) {
|
||||
if (s->hints)
|
||||
printf(_("nothing to commit (create/copy files "
|
||||
"and use \"git add\" to track)\n"));
|
||||
fprintf(s->fp, _("nothing to commit (create/"
|
||||
"copy files and use \"git "
|
||||
"add\" to track)\n"));
|
||||
else
|
||||
printf(_("nothing to commit\n"));
|
||||
fprintf(s->fp, _("nothing to commit\n"));
|
||||
} else if (!s->show_untracked_files) {
|
||||
if (s->hints)
|
||||
printf(_("nothing to commit (use -u to show untracked files)\n"));
|
||||
fprintf(s->fp, _("nothing to commit (use -u to "
|
||||
"show untracked files)\n"));
|
||||
else
|
||||
printf(_("nothing to commit\n"));
|
||||
fprintf(s->fp, _("nothing to commit\n"));
|
||||
} else
|
||||
printf(_("nothing to commit, working tree clean\n"));
|
||||
fprintf(s->fp, _("nothing to commit, working tree "
|
||||
"clean\n"));
|
||||
}
|
||||
if(s->show_stash)
|
||||
wt_longstatus_print_stash_summary(s);
|
||||
@ -1846,12 +1853,12 @@ static void wt_shortstatus_unmerged(struct string_list_item *it,
|
||||
}
|
||||
color_fprintf(s->fp, color(WT_STATUS_UNMERGED, s), "%s", how);
|
||||
if (s->null_termination) {
|
||||
fprintf(stdout, " %s%c", it->string, 0);
|
||||
fprintf(s->fp, " %s%c", it->string, 0);
|
||||
} else {
|
||||
struct strbuf onebuf = STRBUF_INIT;
|
||||
const char *one;
|
||||
one = quote_path(it->string, s->prefix, &onebuf);
|
||||
printf(" %s\n", one);
|
||||
fprintf(s->fp, " %s\n", one);
|
||||
strbuf_release(&onebuf);
|
||||
}
|
||||
}
|
||||
@ -1864,16 +1871,16 @@ static void wt_shortstatus_status(struct string_list_item *it,
|
||||
if (d->index_status)
|
||||
color_fprintf(s->fp, color(WT_STATUS_UPDATED, s), "%c", d->index_status);
|
||||
else
|
||||
putchar(' ');
|
||||
fputc(' ', s->fp);
|
||||
if (d->worktree_status)
|
||||
color_fprintf(s->fp, color(WT_STATUS_CHANGED, s), "%c", d->worktree_status);
|
||||
else
|
||||
putchar(' ');
|
||||
putchar(' ');
|
||||
fputc(' ', s->fp);
|
||||
fputc(' ', s->fp);
|
||||
if (s->null_termination) {
|
||||
fprintf(stdout, "%s%c", it->string, 0);
|
||||
fprintf(s->fp, "%s%c", it->string, 0);
|
||||
if (d->rename_source)
|
||||
fprintf(stdout, "%s%c", d->rename_source, 0);
|
||||
fprintf(s->fp, "%s%c", d->rename_source, 0);
|
||||
} else {
|
||||
struct strbuf onebuf = STRBUF_INIT;
|
||||
const char *one;
|
||||
@ -1881,20 +1888,20 @@ static void wt_shortstatus_status(struct string_list_item *it,
|
||||
if (d->rename_source) {
|
||||
one = quote_path(d->rename_source, s->prefix, &onebuf);
|
||||
if (*one != '"' && strchr(one, ' ') != NULL) {
|
||||
putchar('"');
|
||||
fputc('"', s->fp);
|
||||
strbuf_addch(&onebuf, '"');
|
||||
one = onebuf.buf;
|
||||
}
|
||||
printf("%s -> ", one);
|
||||
fprintf(s->fp, "%s -> ", one);
|
||||
strbuf_release(&onebuf);
|
||||
}
|
||||
one = quote_path(it->string, s->prefix, &onebuf);
|
||||
if (*one != '"' && strchr(one, ' ') != NULL) {
|
||||
putchar('"');
|
||||
fputc('"', s->fp);
|
||||
strbuf_addch(&onebuf, '"');
|
||||
one = onebuf.buf;
|
||||
}
|
||||
printf("%s\n", one);
|
||||
fprintf(s->fp, "%s\n", one);
|
||||
strbuf_release(&onebuf);
|
||||
}
|
||||
}
|
||||
@ -1903,13 +1910,13 @@ static void wt_shortstatus_other(struct string_list_item *it,
|
||||
struct wt_status *s, const char *sign)
|
||||
{
|
||||
if (s->null_termination) {
|
||||
fprintf(stdout, "%s %s%c", sign, it->string, 0);
|
||||
fprintf(s->fp, "%s %s%c", sign, it->string, 0);
|
||||
} else {
|
||||
struct strbuf onebuf = STRBUF_INIT;
|
||||
const char *one;
|
||||
one = quote_path(it->string, s->prefix, &onebuf);
|
||||
color_fprintf(s->fp, color(WT_STATUS_UNTRACKED, s), "%s", sign);
|
||||
printf(" %s\n", one);
|
||||
fprintf(s->fp, " %s\n", one);
|
||||
strbuf_release(&onebuf);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user