init.sh: don't waste a subshell just to redirect stderr
authorJim Meyering <meyering@redhat.com>
Thu, 5 Jan 2012 15:45:50 +0000 (16:45 +0100)
committerJim Meyering <meyering@redhat.com>
Thu, 5 Jan 2012 16:47:28 +0000 (17:47 +0100)
* tests/init.sh: In testing for diff -u and diff -c, use a
stderr-redirecting exec inside `...` rather than a subshell.

ChangeLog
tests/init.sh

index 7f8998d..23b1e87 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2012-01-05  Jim Meyering  <meyering@redhat.com>
 
 2012-01-05  Jim Meyering  <meyering@redhat.com>
 
+       init.sh: don't waste a subshell just to redirect stderr
+       * tests/init.sh: In testing for diff -u and diff -c, use a
+       stderr-redirecting exec inside `...` rather than a subshell.
+
        test-init.sh: avoid failure on HP-UX 11.00
        * tests/test-init.sh: Skip "diff -u"-comparing step when compare
        resolves to diff -c or cmp.  Reported by Bruno Haible.
        test-init.sh: avoid failure on HP-UX 11.00
        * tests/test-init.sh: Skip "diff -u"-comparing step when compare
        resolves to diff -c or cmp.  Reported by Bruno Haible.
index 9485492..65458c7 100644 (file)
@@ -255,7 +255,7 @@ compare_dev_null_ ()
   return 2
 }
 
   return 2
 }
 
-if diff_out_=`( diff -u "$0" "$0" < /dev/null ) 2>/dev/null`; then
+if diff_out_=`exec 2>/dev/null; diff -u "$0" "$0" < /dev/null`; then
   if test -z "$diff_out_"; then
     compare_ () { diff -u "$@"; }
   else
   if test -z "$diff_out_"; then
     compare_ () { diff -u "$@"; }
   else
@@ -273,7 +273,7 @@ if diff_out_=`( diff -u "$0" "$0" < /dev/null ) 2>/dev/null`; then
       fi
     }
   fi
       fi
     }
   fi
-elif diff_out_=`( diff -c "$0" "$0" < /dev/null ) 2>/dev/null`; then
+elif diff_out_=`exec 2>/dev/null; diff -c "$0" "$0" < /dev/null`; then
   if test -z "$diff_out_"; then
     compare_ () { diff -c "$@"; }
   else
   if test -z "$diff_out_"; then
     compare_ () { diff -c "$@"; }
   else