ok, this is a zend bug.

This commit is contained in:
Sterling Hughes 2003-06-09 04:01:11 +00:00
parent 6fc9fdeefc
commit 21d90d6ac4
2 changed files with 9 additions and 7 deletions

View File

@ -1,6 +1,7 @@
<?php
$books = simplexml_load_file('book.xml')->book;
$books = simplexml_load_file('book.xml');
//var_dump($books);
$books = $books->book;
foreach ($books as $book) {
echo "{$book->title} was written by {$book->author}\n";
}

View File

@ -783,13 +783,14 @@ sxe_object_dtor(void *object, zend_object_handle handle TSRMLS_DC)
sxe = (php_sxe_object *) object;
FREE_HASHTABLE(sxe->zo.properties);
if (--sxe->document->refcount > 0) {
return;
}
xmlFreeDoc(sxe->document->ptr);
FREE_HASHTABLE(sxe->zo.properties);
efree(sxe->document);
if (sxe->xpath) {
xmlXPathFreeContext(sxe->xpath);
}
@ -858,8 +859,8 @@ PHP_FUNCTION(simplexml_load_file)
sxe = php_sxe_object_new(TSRMLS_C);
sxe->document = emalloc(sizeof(simplexml_ref_obj));
sxe->document->refcount = 1;
sxe->document->ptr = (void *) xmlParseFile(filename);
sxe->document->refcount = 1;
if (sxe->document->ptr == NULL) {
efree(sxe->document);
RETURN_FALSE;
@ -893,7 +894,7 @@ PHP_FUNCTION(simplexml_load_string)
RETURN_FALSE;
}
sxe->nsmap = xmlHashCreate(10);
return_value->type = IS_OBJECT;
return_value->value.obj = php_sxe_register_object(sxe TSRMLS_CC);
}