Hi,

this patch makes sure we dump stdin into a file before we handle it in the rest of the script. This makes the stdin handling more like the handling of normal files.

OK for trunk?

Thanks,
- Tom

[PATCH 4/5] check_GNU_style.sh: Put stdin into temp file

2015-05-11  Tom de Vries  <t...@codesourcery.com>

	* check_GNU_style.sh: Put stdin into a temp file.
---
 contrib/check_GNU_style.sh | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/contrib/check_GNU_style.sh b/contrib/check_GNU_style.sh
index f00b3d5..318eb6a 100755
--- a/contrib/check_GNU_style.sh
+++ b/contrib/check_GNU_style.sh
@@ -40,8 +40,15 @@ nfiles=$#
 files="$*"
 
 stdin=false
+stdin_tmp=""
 if [ $nfiles -eq 1 ] && [ "$files" = "-" ]; then
     stdin=true
+
+    # By putting stdin into a temp file, we can handle it just like any other
+    # file.  F.i., we can cat it twice, which we can't do with stdin.
+    stdin_tmp=check_GNU_style.stdin
+    cat - > $stdin_tmp
+    files=$stdin_tmp
 else
     for f in $files; do
 	if [ "$f" = "-" ]; then
@@ -60,8 +67,8 @@ inp=check_GNU_style.inp
 tmp=check_GNU_style.tmp
 
 # Remove $tmp on exit and various signals.
-trap "rm -f $inp $tmp" 0
-trap "rm -f $inp $tmp ; exit 1" 1 2 3 5 9 13 15
+trap "rm -f $inp $tmp $stdin_tmp" 0
+trap "rm -f $inp $tmp $stdin_tmp; exit 1" 1 2 3 5 9 13 15
 
 if [ $nfiles -eq 1 ]; then
     # There's no need for the file prefix if we're dealing only with one file.
-- 
1.9.1


Reply via email to