- From: Olivier Thereaux via cvs-syncmail <cvsmail@w3.org>
- Date: Tue, 10 Feb 2009 13:53:03 +0000
- To: www-validator-cvs@w3.org
Update of /sources/public/validator/httpd/cgi-bin
In directory hutz:/tmp/cvs-serv9492
Modified Files:
check
Log Message:
XML::LibXML 0.69_2 now has proper error location info
Index: check
===================================================================
RCS file: /sources/public/validator/httpd/cgi-bin/check,v
retrieving revision 1.645
retrieving revision 1.646
diff -u -d -r1.645 -r1.646
--- check 5 Feb 2009 21:54:08 -0000 1.645
+++ check 10 Feb 2009 13:53:01 -0000 1.646
@@ -713,8 +713,6 @@
# handle a structured error (XML::LibXML::Error object)
# (lib XML::LibXML > 0.66, but will work MUCH better > 0.69 )
push (@xmlwf_obj_error_list, $@);
- # my $prev_err = $@->_prev();
- # die($prev_err->{msg});
my $err_obj = $@;
while($err_obj->_prev()) {
$err_obj = $err_obj->_prev();
@@ -725,8 +723,7 @@
#die($err_obj->dump());
my $err;
my $offset;
- #if($err_obj->int2()) {$offset = $err_obj->int2();} # this should be the location of the column per http://xmlsoft.org/html/libxml-xmlerror.html
- if ($err_obj->num2()) {$offset = $err_obj->num2();} # this is bogus but seems to be the actual behavior
+ eval {$offset = $err_obj->column()}; # only in XML::LibXML 0.69_2 and above, so wrapping it safely
$err->{src} = '...'; # do this with show_open_entities()?
$err->{line} = $err_obj->line();
$err->{char} = $offset;
@@ -743,8 +740,7 @@
$num_xmlwf_error++;
}
}
-
- if ($@) {
+ elsif ($@) {
my $xmlwf_errors = $@;
my $xmlwf_error_line = undef;
my $xmlwf_error_col = undef;
Received on Tuesday, 10 February 2009 13:53:12 UTC