Re: [GUILT] [PATCH] get rid of "cat: write error: Broken pipe" error message
On Tue, Mar 13, 2012 at 02:39:44PM +0100, Per Cederqvist wrote:
Show 7 quoted lines
> In some circumstances (like running guilt in a M-x shell buffer in
> Emacs) cat may give the above error message when the reader of the
> output from cat exits without reading all input from cat. (In other
> circumstances cat is just silently terminated with SIGPIPE.)
>
> Get rid of the error by removing the useless use of cat in
> do_get_header and do_get_full_header.
FWIW, your patch got mangled pretty badly. I fixed it up and applied it.
Thanks,
Jeff.
Show 46 quoted lines
> Signed-off-by: Per Cederqvist <cederp@opera.com>
> ---
> guilt | 8 ++++----
> 1 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/guilt b/guilt
> index d1e17d4..7f6806e 100755
> --- a/guilt
> +++ b/guilt
> @@ -359,7 +359,7 @@ do_get_header()
> # 4th line skips any empty lines thereafter.
> # 5th line turns off empty line skip upon seeing a non-empty line.
> # 6th line terminates execution when we encounter the diff
> - cat "$1" | awk '
> + awk '
> BEGIN{body=0; subj=0}
> /^Subject:/ && (body == 0 && subj == 0){subj=1; print substr($0,
> 10) "\n"; next}
> /^(Subject:|From:|Author:|Date:|commit)/ && (body == 0){next}
> @@ -369,7 +369,7 @@ BEGIN{body=0; subj=0}
> /^(diff |---$|--- )/{exit}
> {print $0}
> END{}
> -'
> +' < "$1"
> }
>
> # usage: do_get_full_header patchfile
> @@ -377,12 +377,12 @@ do_get_full_header()
> {
> # 2nd line checks for the begining of a patch
> # 3rd line outputs the line if it didn't get pruned by the above rules
> - cat "$1" | awk '
> + awk '
> BEGIN{}
> /^(diff |---$|--- )/{exit}
> {print $0}
> END{}
> -'
> +' < "$1"
> }
>
> # usage: assert_head_check
> --
> 1.7.9
> --
The obvious mathematical breakthrough would be development of an easy way to
factor large prime numbers.
- Bill Gates, The Road Ahead, pg. 265