diff options
author | 2008-03-15 01:10:38 -0700 | |
---|---|---|
committer | 2008-03-15 01:10:38 -0700 | |
commit | 1f1e1257a176ce851ffb683bbba505ae22625ec9 (patch) | |
tree | 856ee0a40a971d8c41d7ec16fd653f741e7df4a3 /wt-status.c | |
parent | Merge branch 'cc/help' (diff) | |
parent | wt-status.c: no need for dup() dance anymore (diff) | |
download | tgif-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.c | 17 |
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) |