[PATCH] diff-tree: stop on broken output pipe
---
Without this, on my iBook git-whatchanged keeps running when I
quit "less". I have to interrupt the process a second time. No
idea why it works on Linux.
diff-tree.c | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
a3ff3aa99f1cc7d1e59563fbf22fed8a4f3f2d24
diff --git a/diff-tree.c b/diff-tree.c
index efa2b94..c06ccd3 100644
--- a/diff-tree.c
+++ b/diff-tree.c
@@ -25,8 +25,9 @@ static int call_diff_flush(void)
return 0;
}
if (header) {
- if (!no_commit_id)
- printf("%s%c", header, diff_options.line_termination);
+ if (!no_commit_id && printf("%s%c", header,
+ diff_options.line_termination) < 0)
+ die("broken output pipe");
header = NULL;
}
diff_flush(&diff_options);
--
1.0.GIT