tinyXml-0.1.0.0: src/Text/Xml/Tiny/Internal/Checks.hs
{-# LANGUAGE ViewPatterns, NamedFieldPuns, CPP #-}
module Text.Xml.Tiny.Internal.Checks where
import Text.Printf
#ifdef ENABLE_CONSISTENCY_CHECKS
doStackChecks = True
doCursorChecks = True
doParseTableChecks = True
#else
doStackChecks = False
doCursorChecks = False
doParseTableChecks = False
#endif
{-# INLINE doStackChecks #-}
{-# INLINE doCursorChecks #-}
{-# INLINE doParseTableChecks #-}
-- checkCursor :: ParseMonad s ()
checkBSaccess o l o0 l0 =
let valid n = let x = fromIntegral n in x >= o0 && x < o0+l0
check = (valid o && valid (o+l))
|| error (printf "access to source out of bounds: o=%d, l=%d" o l)
in check `seq` ()