diff options
author | Rob Richards <rrichards@php.net> | 2003-08-24 10:18:08 +0000 |
---|---|---|
committer | Rob Richards <rrichards@php.net> | 2003-08-24 10:18:08 +0000 |
commit | ea1b33438a64413b82aef0aa197c8f44e4277e78 (patch) | |
tree | 3be4005c4eea98118989ae4fcdd30603ff29275e /ext/xsl/xsltprocessor.c | |
parent | 38805f28098dcf7f27588c605eaba214ab044031 (diff) | |
download | php-git-ea1b33438a64413b82aef0aa197c8f44e4277e78.tar.gz |
remove document pointer references as doc is now copied
Diffstat (limited to 'ext/xsl/xsltprocessor.c')
-rw-r--r-- | ext/xsl/xsltprocessor.c | 13 |
1 files changed, 1 insertions, 12 deletions
diff --git a/ext/xsl/xsltprocessor.c b/ext/xsl/xsltprocessor.c index 27d22fef05..403a370634 100644 --- a/ext/xsl/xsltprocessor.c +++ b/ext/xsl/xsltprocessor.c @@ -144,6 +144,7 @@ PHP_FUNCTION(xsl_xsltprocessor_import_stylesheet) sheetp = xsltParseStylesheetDoc(newdoc); if (!sheetp) { + xmlFreeDoc(newdoc); RETURN_FALSE; } @@ -153,22 +154,10 @@ PHP_FUNCTION(xsl_xsltprocessor_import_stylesheet) if (((xsltStylesheetPtr) intern->ptr)->_private != NULL) { ((xsltStylesheetPtr) intern->ptr)->_private = NULL; } - if (intern->document != NULL) { - if (--intern->document->refcount == 0) { - xmlFreeDoc((xmlDocPtr) intern->document->ptr); - efree(intern->document); - } - ((xsltStylesheetPtr) intern->ptr)->doc = NULL; - intern->document = NULL; - } xsltFreeStylesheet((xsltStylesheetPtr) intern->ptr); intern->ptr = NULL; } - intern->document = emalloc(sizeof(dom_ref_obj)); - intern->document->ptr = newdoc; - intern->document->refcount = 1; - php_xsl_set_object(id, sheetp TSRMLS_CC); } /* }}} end xsl_xsltprocessor_import_stylesheet */ |