diff options
| author | Rob Landley <rob@landley.net> | 2014-06-08 13:24:02 -0500 | 
|---|---|---|
| committer | Rob Landley <rob@landley.net> | 2014-06-08 13:24:02 -0500 | 
| commit | 471c4d25b724b11fce043c293e03ac024bd2a0e3 (patch) | |
| tree | a2f68a27410c065f82b8c3ef1d65c825bf7dc1b8 /scripts | |
| parent | d0c0422e601226101d28e954a4fc974d78a139eb (diff) | |
| download | toybox-471c4d25b724b11fce043c293e03ac024bd2a0e3.tar.gz | |
Replace large parenthetical in bloatcheck with a function.
Diffstat (limited to 'scripts')
| -rwxr-xr-x | scripts/bloatcheck | 87 | 
1 files changed, 45 insertions, 42 deletions
| diff --git a/scripts/bloatcheck b/scripts/bloatcheck index a5a28f1c..03606b2b 100755 --- a/scripts/bloatcheck +++ b/scripts/bloatcheck @@ -14,47 +14,50 @@ addline()      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 | 
