#! /bin/sh

set -m
LAST_MD5=0
while true; do
    MD5=`md5sum < /tmp/talloc.dot`
    if [ "$MD5" != "$LAST_MD5" ]; then
	sort -b /tmp/talloc.dot | awk ' /\tn.*->/ { if ($0 != PREV) { if (COUNT) print PRINT; else print PREV; PREV=$0; COUNT=0; } next; } /\tn.* \[/ { if ($0 != PREV) { if (COUNT) print PRINT; else print PREV; PREV=$0; COUNT=0 } else { COUNT++; gsub("\"]$", " x " COUNT+1 "\"]"); PRINT=$0; } next; } /ranksep.*/ { if (COUNT) print PRINT; else print PREV; next; } { print }' | dot -Tsvg /dev/fd/0 | sed 's/<svg.*/<svg preserveAspectRatio="none"/' > /tmp/talloc.svg
	firefox -remote "openFile(`pwd`/nfsim.html)"
	LAST_MD5="$MD5"
    fi
done &

/home/rusty/devel/cvs/netfilter/netfilter/trunk/nfsim/simulator --no-modules

kill %1



