1
0
mirror of https://github.com/sheumann/hush.git synced 2024-12-30 05:29:47 +00:00
hush/shell/hush_leaktool.sh
Denis Vlasenko dcd78c4d0f hush: fix "export not_yet_defined_var", fix parsing of "cmd | }"
corner case; improve hush_leaktool.sh;
 fix some false positives in testsuite

function                                             old     new   delta
builtin_export                                       191     206     +15
parse_stream                                        2196    2200      +4
2009-04-19 23:07:51 +00:00

26 lines
566 B
Bash
Executable File

#!/bin/sh
# hush's stderr with leak debug enabled
output=output
freelist=`grep 'free 0x' "$output" | cut -d' ' -f2 | sort | uniq | xargs`
grep -v free "$output" >"$output.leaked"
i=8
list=
for freed in $freelist; do
list="$list -e $freed"
test $((--i)) != 0 && continue
echo Dropping $list
grep -F -v $list <"$output.leaked" >"$output.temp"
mv "$output.temp" "$output.leaked"
i=8
list=
done
if test "$list"; then
echo Dropping $list
grep -F -v $list <"$output.leaked" >"$output.temp"
mv "$output.temp" "$output.leaked"
fi