From 298fcd94d21413a80a5e5a0684c6fc2397fc95b3 Mon Sep 17 00:00:00 2001 From: Rob Landley Date: Sun, 8 Jun 2014 14:01:37 -0500 Subject: Isaac Dunham also reported that some diff implementations can't handle nonseekable input, so write to a temporary file instead of <(command). Use trap EXIT to make sure the temporary files get deleted. --- scripts/bloatcheck | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'scripts/bloatcheck') diff --git a/scripts/bloatcheck b/scripts/bloatcheck index d18fbe08..fff4690f 100755 --- a/scripts/bloatcheck +++ b/scripts/bloatcheck @@ -58,6 +58,10 @@ do_bloatcheck() printf "% 71d total\n" "$TOTAL" } -diff -U 0 <(nm --size-sort "$1" | sort -k3,3) \ - <(nm --size-sort "$2" | sort -k3,3) \ - | tail -n +3 | sed -n 's/^\([-+]\)/\1 /p' | sort -k4,4 | do_bloatcheck +DIFF1=`mktemp base.XXXXXXX` +DIFF2=`mktemp bloat.XXXXXXX` +trap "rm $DIFF1 $DIFF2" EXIT +nm --size-sort "$1" | sort -k3,3 > $DIFF1 +nm --size-sort "$2" | sort -k3,3 > $DIFF2 +diff -U 0 $DIFF1 $DIFF2 | tail -n +3 | sed -n 's/^\([-+]\)/\1 /p' \ + | sort -k4,4 | do_bloatcheck -- cgit v1.2.3