get rid of "cat: write error: Broken pipe" error message
PATCH 1/1 get rid of "cat: write error: Broken pipe" error message
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.
--- guilt | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-)
guilt +1 -1
@@ -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
Signature · 1 line
1.7.9
Looks good!
Thanks,
Jeff.
Quoted 54 lines · Per Cederqvist
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_headeranddo_get_full_header.Signed-off-by Per Cederqvist <[email protected]>--- guilt | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-)guilt +1
-1@@ -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}
guilt +3
-3@@ -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_checkSignature · 1 line
1.7.9
Signature · 1 line
Si hoc legere scis nimium eruditionis habes.
Quoted 7 lines · Per Cederqvist
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_headeranddo_get_full_header.
FWIW, your patch got mangled pretty badly. I fixed it up and applied it.
Thanks,
Jeff.
Quoted 46 lines
Signed-off-by Per Cederqvist <[email protected]>--- guilt | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-)guilt +1
-1@@ -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}
guilt +3
-3@@ -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_checkSignature · 1 line
1.7.9
Signature · 3 lines
The obvious mathematical breakthrough would be development of an easy way to factor large prime numbers. - Bill Gates, The Road Ahead, pg. 265