# HG changeset patch # User Rob Landley # Date 1402251842 18000 # Node ID ca297cc8a20499dbed9e4d2c319e2b30bedf5de9 # Parent 97c7f42068b50b37185e874a4a32fe2442eb16a8 Replace large parenthetical in bloatcheck with a function. diff -r 97c7f42068b5 -r ca297cc8a204 scripts/bloatcheck --- a/scripts/bloatcheck Sat Jun 07 12:03:54 2014 -0500 +++ b/scripts/bloatcheck Sun Jun 08 13:24:02 2014 -0500 @@ -14,47 +14,50 @@ STUFF="$(printf "%s\n%s" "$STUFF" "$NEXT")" } +do_bloatcheck() +{ + LASTNAME= + DELTA=0 + TOTAL=0 + OLD=0 + NEW=0 + STUFF= + + printf "name% 46s% 10s% 11s\n" old new delta + echo "-----------------------------------------------------------------------" + while read a b c d + do + THISNAME=$(echo " $d" | sed 's/[.][0-9]*$//') + + if [ "$LASTNAME" != "$THISNAME" ] + then + TOTAL=$(($TOTAL+$DELTA)) + [ $DELTA -ne 0 ] && addline + LASTNAME="$THISNAME" + DELTA=0 + OLD=0 + NEW=0 + fi + + SIZE=$(printf "%d" "0x$b") + if [ "$a" == "<" ] + then + OLD=$(($OLD+$SIZE)) + SIZE=$((-1*$SIZE)) + else + NEW=$(($NEW+$SIZE)) + fi + DELTA=$(($DELTA+$SIZE)) + done + + TOTAL=$(($TOTAL+$DELTA)) + [ $DELTA -ne 0 ] && addline + + echo "$STUFF" | sort -k4,4nr + echo "-----------------------------------------------------------------------" + printf "% 71d total\n" "$TOTAL" +} + diff <(nm --size-sort "$1" | sort -k3,3) \ <(nm --size-sort "$2" | sort -k3,3) | grep '^[<>]' | sort -k4,4 | \ -( -LASTNAME= -DELTA=0 -TOTAL=0 -OLD=0 -NEW=0 -STUFF= - -printf "name% 46s% 10s% 11s\n" old new delta -echo "-----------------------------------------------------------------------" -while read a b c d -do - THISNAME=$(echo " $d" | sed 's/[.][0-9]*$//') - - if [ "$LASTNAME" != "$THISNAME" ] - then - TOTAL=$(($TOTAL+$DELTA)) - [ $DELTA -ne 0 ] && addline - LASTNAME="$THISNAME" - DELTA=0 - OLD=0 - NEW=0 - fi - - SIZE=$(printf "%d" "0x$b") - if [ "$a" == "<" ] - then - OLD=$(($OLD+$SIZE)) - SIZE=$((-1*$SIZE)) - else - NEW=$(($NEW+$SIZE)) - fi - DELTA=$(($DELTA+$SIZE)) -done - -TOTAL=$(($TOTAL+$DELTA)) -[ $DELTA -ne 0 ] && addline - -echo "$STUFF" | sort -k4,4nr -echo "-----------------------------------------------------------------------" -printf "% 71d total\n" "$TOTAL" -) + do_bloatcheck