Permalink
Browse files

More error info about XML parse failures

  • Loading branch information...
donal72
donal72 committed Nov 2, 2007
1 parent 9822b38 commit d1bbb753338bd4c7cb9d1df971072dcea6ebbcc8
Showing with 17 additions and 1 deletion.
  1. +17 −1 mnet/xmlrpc/xmlparser.php
View
@@ -94,7 +94,23 @@ function parse($data) {
// Parse failed
$errcode = xml_get_error_code($this->parser);
$errstring = xml_error_string($errcode);
- $this->error[] = array('code' => $errcode, 'string' => $errstring);
+ $lineno = xml_get_current_line_number($this->parser);
+ if ($lineno !== false) {
+ $error = array('lineno' => $lineno);
+ $lineno--; // Line numbering starts at 1.
+ while ($lineno > 0) {
+ $data = strstr($data, "\n");
+ $lineno--;
+ }
+ $data .= "\n"; // In case there's only one line (no newline)
+ $line = substr($data, 0, strpos($data, "\n"));
+ $error['code'] = $errcode;
+ $error['string'] = $errstring;
+ $error['line'] = $line;
+ $this->error[] = $error;
+ } else {
+ $this->error[] = array('code' => $errcode, 'string' => $errstring);
+ }
}
if (count($this->cipher) > 0) {

0 comments on commit d1bbb75

Please sign in to comment.