check_GNU_style.sh: Put stdin into temp file
authorTom de Vries <tom@codesourcery.com>
Tue, 12 May 2015 16:23:29 +0000 (16:23 +0000)
committerTom de Vries <vries@gcc.gnu.org>
Tue, 12 May 2015 16:23:29 +0000 (16:23 +0000)
2015-05-12  Tom de Vries  <tom@codesourcery.com>

* check_GNU_style.sh: Put stdin into a temp file.

From-SVN: r223087

contrib/ChangeLog
contrib/check_GNU_style.sh

index da374975417d4f4869a62209e211911326754f76..97941f77f007496d575e609f71dc12d3c5724707 100644 (file)
@@ -1,3 +1,7 @@
+2015-05-12  Tom de Vries  <tom@codesourcery.com>
+
+       * check_GNU_style.sh: Put stdin into a temp file.
+
 2015-05-12  Tom de Vries  <tom@codesourcery.com>
 
        * check_GNU_style.sh: Read either from stdin, or from files.
index f00b3d54096cea9b12043e2a4db361d992d83c5a..318eb6adca5c776643da7f8b39e5db34f49e58cf 100755 (executable)
@@ -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.