Mercurial > hg > toybox
changeset 1337:ca297cc8a204 draft
Replace large parenthetical in bloatcheck with a function.
author | Rob Landley <rob@landley.net> |
---|---|
date | Sun, 08 Jun 2014 13:24:02 -0500 |
parents | 97c7f42068b5 |
children | e084440e6995 |
files | scripts/bloatcheck |
diffstat | 1 files changed, 45 insertions(+), 42 deletions(-) [+] |
line wrap: on
line diff
--- 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