summaryrefslogtreecommitdiff
path: root/wt-status.c
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <gitster@pobox.com>2008-03-15 01:10:38 -0700
committerLibravatar Junio C Hamano <gitster@pobox.com>2008-03-15 01:10:38 -0700
commit1f1e1257a176ce851ffb683bbba505ae22625ec9 (patch)
tree856ee0a40a971d8c41d7ec16fd653f741e7df4a3 /wt-status.c
parentMerge branch 'cc/help' (diff)
parentwt-status.c: no need for dup() dance anymore (diff)
downloadtgif-1f1e1257a176ce851ffb683bbba505ae22625ec9.tar.xz
Merge branch 'db/diff-to-fp'
* db/diff-to-fp: wt-status.c: no need for dup() dance anymore Write diff output to a file in struct diff_options
Diffstat (limited to 'wt-status.c')
-rw-r--r--wt-status.c17
1 files changed, 2 insertions, 15 deletions
diff --git a/wt-status.c b/wt-status.c
index 701d13da7c..b3fd57b79d 100644
--- a/wt-status.c
+++ b/wt-status.c
@@ -269,27 +269,14 @@ static void wt_status_print_untracked(struct wt_status *s)
static void wt_status_print_verbose(struct wt_status *s)
{
struct rev_info rev;
- int saved_stdout;
-
- fflush(s->fp);
-
- /* Sigh, the entire diff machinery is hardcoded to output to
- * stdout. Do the dup-dance...*/
- saved_stdout = dup(STDOUT_FILENO);
- if (saved_stdout < 0 ||dup2(fileno(s->fp), STDOUT_FILENO) < 0)
- die("couldn't redirect stdout\n");
init_revisions(&rev, NULL);
setup_revisions(0, NULL, &rev, s->reference);
rev.diffopt.output_format |= DIFF_FORMAT_PATCH;
rev.diffopt.detect_rename = 1;
+ rev.diffopt.file = s->fp;
+ rev.diffopt.close_file = 0;
run_diff_index(&rev, 1);
-
- fflush(stdout);
-
- if (dup2(saved_stdout, STDOUT_FILENO) < 0)
- die("couldn't restore stdout\n");
- close(saved_stdout);
}
void wt_status_print(struct wt_status *s)