|
|
|
@ -1060,7 +1060,7 @@ PHP_METHOD(xmlreader, XML) |
|
|
|
long options = 0; |
|
|
|
xmlreader_object *intern = NULL; |
|
|
|
char *source, *uri = NULL, *encoding = NULL; |
|
|
|
int resolved_path_len; |
|
|
|
int resolved_path_len, ret = 0; |
|
|
|
char *directory=NULL, resolved_path[MAXPATHLEN]; |
|
|
|
xmlParserInputBufferPtr inputbfr; |
|
|
|
xmlTextReaderPtr reader; |
|
|
|
@ -1105,15 +1105,20 @@ PHP_METHOD(xmlreader, XML) |
|
|
|
xmlFree(uri); |
|
|
|
} |
|
|
|
if (reader != NULL) { |
|
|
|
if (id == NULL) { |
|
|
|
object_init_ex(return_value, xmlreader_class_entry); |
|
|
|
intern = (xmlreader_object *)zend_objects_get_address(return_value TSRMLS_CC); |
|
|
|
} else { |
|
|
|
RETVAL_TRUE; |
|
|
|
#if LIBXML_VERSION >= 20628 |
|
|
|
ret = xmlTextReaderSetup(reader, NULL, uri, encoding, options); |
|
|
|
#endif |
|
|
|
if (ret == 0) { |
|
|
|
if (id == NULL) { |
|
|
|
object_init_ex(return_value, xmlreader_class_entry); |
|
|
|
intern = (xmlreader_object *)zend_objects_get_address(return_value TSRMLS_CC); |
|
|
|
} else { |
|
|
|
RETVAL_TRUE; |
|
|
|
} |
|
|
|
intern->input = inputbfr; |
|
|
|
intern->ptr = reader; |
|
|
|
return; |
|
|
|
} |
|
|
|
intern->input = inputbfr; |
|
|
|
intern->ptr = reader; |
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|