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
This commit is contained in:
Denis Vlasenko
2009-04-19 23:07:51 +00:00
parent 3798db58cf
commit dcd78c4d0f
4 changed files with 42 additions and 22 deletions

View File

@@ -6,8 +6,20 @@ 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
echo Dropping $freed
grep -v $freed <"$output.leaked" >"$output.temp"
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