rrichards               Fri Aug 29 11:29:25 2003 EDT

  Modified files:              (Branch: PHP_4_3)
    /php-src/ext/domxml php_domxml.c 
  Log:
  workaround for bug #25268. libxslt issue with xsl:key
  
Index: php-src/ext/domxml/php_domxml.c
diff -u php-src/ext/domxml/php_domxml.c:1.218.2.28 
php-src/ext/domxml/php_domxml.c:1.218.2.29
--- php-src/ext/domxml/php_domxml.c:1.218.2.28  Thu Aug  7 12:44:11 2003
+++ php-src/ext/domxml/php_domxml.c     Fri Aug 29 11:29:24 2003
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php_domxml.c,v 1.218.2.28 2003/08/07 16:44:11 zeev Exp $ */
+/* $Id: php_domxml.c,v 1.218.2.29 2003/08/29 15:29:24 rrichards Exp $ */
 
 /* TODO
  * - Support Notation Nodes
@@ -5349,7 +5349,7 @@
        xmlDocPtr xmldocp;
        xmlDocPtr docp;
        char **params = NULL;
-       int ret;
+       int ret, clone = 0;
        char *filename;
        int filename_len = 0;
 
@@ -5361,7 +5361,7 @@
                RETURN_FALSE;
        }
 
-       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o|abs", &idxml, 
&idparams, &xpath_params, &filename, &filename_len) == FAILURE) {
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o|a!b!s!l", &idxml, 
&idparams, &xpath_params, &filename, &filename_len, &clone) == FAILURE) {
                RETURN_FALSE;
        }
 
@@ -5371,6 +5371,10 @@
                params = php_domxslt_make_params(idparams, xpath_params TSRMLS_CC);
        }
 
+       if (clone == 1) {
+               xmldocp = xmlCopyDoc(xmldocp, 1);
+       }
+
        if (filename_len) {
                FILE *f;
                f = fopen (filename,"w");
@@ -5378,6 +5382,10 @@
                fclose(f);
        } else {
                docp = xsltApplyStylesheet(xsltstp, xmldocp, (const char**)params);
+       }
+
+       if (clone == 1) {
+               xmlFreeDoc(xmldocp);
        }
 
        if (params) {

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to