#!/bin/sh
if [ "$2" = "" ]; then
	tocf=test.toc
else
	tocf="$2"
fi
if [ "$1" = "noq" ]; then
	FLAGS=
else
	FLAGS="-q"
fi

valgrind $FLAGS --track-origins=yes --exit-on-first-error=yes --error-exitcode=1 --malloc-fill=0xcd  --free-fill=0xef --num-callers=100 ./toc $tocf || exit 1
if [ "$1" = "c" ]; then
	gcc out.c -g -Wno-builtin-declaration-mismatch && ./a.out
elif [ "$1" = "pc" ]; then
	cat out.c
fi
rm vgcore* 2> /dev/null