--- toast 2003/10/13 04:55:05 1.215 +++ toast 2003/10/13 05:15:58 1.216 @@ -17,9 +17,19 @@ ############################################################################## -sub trace($) +my($rcsid) = q$Id$; +$rcsid =~ /^Id: (.+),v (\S+) (\S+ \S+) (\S+) Exp (\S+ )?$/ || die; +my($myname, $myversion, $mytimestamp, $myauthor) = ($1, $2, $3, $4); +$myversion .= "+" if $5; # if this version may contain changes not in RCS +my($myurl) = "http://www.toastball.net/toast/"; +my($genby) = "generated by $myname version $myversion [$myurl]"; +$myname eq "toast" && $myauthor eq "zaphod" || die; # avoid accidents w/ CVS + +############################################################################## + +sub trace(;$) { - my($i, $out, $prev) = (shift, "", ""); + my($i, $out, $prev) = (shift || 1, "", ""); while(my($package, $file, $line) = caller($i++)) { $out .= ($prev eq $file ? "/" : $out ? "; $file: " : "$file: ") . $line; @@ -30,18 +40,8 @@ sub error(@) { - die(join('', @_) || "assertion failed", "\n[" . trace(1) . "]\n"); + die(join('', @_) || "assertion failed", "\n[" . trace . " v$myversion]\n"); } - -############################################################################## - -my($rcsid) = q$Id$; -$rcsid =~ /^Id: (.+),v (\S+) (\S+ \S+) (\S+) Exp (\S+ )?$/ || error; -my($myname, $myversion, $mytimestamp, $myauthor) = ($1, $2, $3, $4); -$myversion .= "+" if $5; # if this version may contain changes not in RCS -my($myurl) = "http://www.toastball.net/toast/"; -my($genby) = "generated by $myname version $myversion [$myurl]"; -$myname eq "toast" && $myauthor eq "zaphod" || error; # avoid accidents w/ CVS ##############################################################################