K 10
svn:author
V 6
iulius
K 8
svn:date
V 27
2008-11-17T13:48:49.323951Z
K 7
svn:log
V 1119
Patch from Alexander Bartolich.  Many thanks to him!

Function EscapeHTML sanitizes input from log files by replacing special
characters (especially non-ASCII characters) with HTML-entities.

Split EvalExpr into parts:

PrepareEval takes an expression from innreport.conf (a string), substitutes
variable names and pseudo-functions, compiles the code to an anonymous
subroutine, and returns it together with references to enclosure variables.
EvalExpr and EvalHash call a subroutine compiled by PrepareEval.

All three functions provide diagnostic output (and throw an exception
on errors) if $DEBUG is true.

All expression evolution is now done through PrepareEval.

Functions ComputeTotal and ComputeTotalDouble now use a cache.
The performance gain is insignificant, but if $DEBUG is true then
modifications of the input parameter (a hash) can be detected.

New Perl function Divide0 is available to innreport.conf as
"div0".  It returns 0 if one of the divisors is 0.

At the moment expressions in innreport.conf throw lots of
division-by-zero exceptions, so it is not possible to run
innreport if $DEBUG is true.

END
