Hiya,
I've finally found the time to propogate the changes from xsltproc for
timing back to xmllint.
Rationale:
The timing routines presently use gettimeofday, a non-standard unix-like
function. This function is not available on RISC OS, and may not be
available on other systems.
Solution:
To resolve this problem in a sensible manner and reduce the code required
to be maintained, new routines called startTimer and endTimer have been
created to perform whatever is necessary to time a process. These routines
are conditionally compiled to allow platform variances to be included more
easily.
Implementation:
Three versions of these routines are provided - the original
'gettimeofday' based pair, a 'clock' based pair, and a null pair which
does no timing. The implementation requires the use of stdarg to ensure
that the parameters are printed correctly. This does not mean any
additional dependency for the library, as libxml2 already requires
variadic argument processing for its error handling.
Dependencies:
The define HAVE_GETTIMEOFDAY is used to determine if the gettimeofday
function is available.
The define HAVE_TIME_H is used to determine if the time.h header is
availble (and consequently, the standard C clock implementation.
These may need adding to configuration scripts for whatever platforms
are used.
Addendum:
Another minor patch slipped in here; during validation the lines
which assign to cvp.userData, cvp.error and cvp.warning are concatenated.
This patch splits them into multiple lines (see source around line 755).
Differences from patch for xsltproc:
This patch should actually apply without lots of messing around.
--
Gerph {djf0-.3w6e2w2.226,6q6w2q2,2.3,2m4}
URL: http://www.movspclr.co.uk/
... Eyes to the heavens, screaming at the sky;
Trying to send you messages, but choking on goodbye.
Attachment:
xmllint.diff
Description: Text document