#! /bin/sh

dir=`dirname $0`

./filter_stderr "$@" |
$dir/../../tests/filter_xml_frames  |
sed "s/<tid>[0-9]*<\/tid>/<tid>...<\/tid>/" |
sed "s/<pid>[0-9]*<\/pid>/<pid>...<\/pid>/" |
sed "s/<ppid>[0-9]*<\/ppid>/<ppid>...<\/ppid>/" |
sed "s/<obj>.*<\/obj>/<obj>...<\/obj>/" |
sed "s/<line>.*<\/line>/<line>...<\/line>/" |
sed "s/<dir>.*<\/dir>/<dir>...<\/dir>/" |
sed "s/<count>.*<\/count>/<count>...<\/count>/" |
sed "s/of size [48]</of size N</" |
perl    -p -e "s/(m_replacemalloc\/)?vg_replace_malloc.c/vg_replace_malloc.c/" |
perl -0 -p -e "s/<suppcounts>.*<\/suppcounts>/<suppcounts>...<\/suppcounts>/s" |
perl    -p -e "s/<time>.*<\/time>/<time>...<\/time>/s" |
perl -0 -p -e "s/<vargv>.*<\/vargv>/<vargv>...<\/vargv>/s" |

# Remove stack traces for Syscall param errors (see filter_stderr for more).  
# Chops everything within <stack>...</stack>.
perl -p -0 -e 's/(<what>Syscall param[^\n]*\n)([^\n]*(stack|frame|ip|obj|fn|dir|file|line)[^\n]*\n)+/$1/gs'

# Collected wisdom re Perl magic incantation:
#
# From: Tom Hughes
#
# Two problems - one is that you need -p to force perl to loop over 
# the input lines and apply your expression to each one and then print
# the results.
# 
# The other is that as somebody else said you need to change the input
# record separator so that it reads in the whole file as a single line
# (which means we can do multi-line matching in a single regexp) which you
# can do with the -0 switch.                                              
#
# Hence -0 -p.
