chregu          Mon Oct 28 03:54:30 2002 EDT

  Modified files:              
    /php4/ext/domxml    php_domxml.c 
  Log:
  Patch by Morus Walter, concerning some dtd/entity expanding stuff.
  
  
Index: php4/ext/domxml/php_domxml.c
diff -u php4/ext/domxml/php_domxml.c:1.213 php4/ext/domxml/php_domxml.c:1.214
--- php4/ext/domxml/php_domxml.c:1.213  Sat Oct 12 12:16:36 2002
+++ php4/ext/domxml/php_domxml.c        Mon Oct 28 03:54:30 2002
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php_domxml.c,v 1.213 2002/10/12 16:16:36 sander Exp $ */
+/* $Id: php_domxml.c,v 1.214 2002/10/28 08:54:30 chregu Exp $ */
 
 /* TODO
  * - Support Notation Nodes
@@ -3777,6 +3777,7 @@
        int mode = 0, prevSubstValue;
        int oldvalue =  xmlDoValidityCheckingDefaultValue;
        int oldvalue_keepblanks;
+       int prevLoadExtDtdValue = xmlLoadExtDtdDefaultValue;
        zval *errors ;
 
        if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|lz", &buffer, 
&buffer_len, &mode, &errors) == FAILURE) {
@@ -3831,6 +3832,7 @@
        }
        xmlSubstituteEntitiesDefault (prevSubstValue);
        xmlDoValidityCheckingDefaultValue = oldvalue;
+       xmlLoadExtDtdDefaultValue = prevLoadExtDtdValue;
        xmlKeepBlanksDefault(oldvalue_keepblanks);
 
        if (!docp)
@@ -4955,13 +4957,21 @@
        int ret;
        char *buffer;
        int buffer_len;
+       int prevSubstValue, prevExtDtdValue;
 
        if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &buffer, 
&buffer_len) == FAILURE) {
                RETURN_FALSE;
        }
 
+       prevSubstValue = xmlSubstituteEntitiesDefault (1);
+       prevExtDtdValue = xmlLoadExtDtdDefaultValue;
+       xmlLoadExtDtdDefaultValue = XML_DETECT_IDS | XML_COMPLETE_ATTRS;
+
        docp = xmlParseDoc(buffer);
 
+       xmlSubstituteEntitiesDefault (prevSubstValue);
+       xmlLoadExtDtdDefaultValue = prevExtDtdValue;
+
        if (!docp)
                RETURN_FALSE;
 
@@ -5014,12 +5024,20 @@
        xsltStylesheetPtr sheetp;
        int ret, file_len;
        char *file;
+       int prevSubstValue, prevExtDtdValue;
 
        if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &file, &file_len) == 
FAILURE) {
                RETURN_FALSE;
        }
 
+       prevSubstValue = xmlSubstituteEntitiesDefault (1);
+       prevExtDtdValue = xmlLoadExtDtdDefaultValue;
+       xmlLoadExtDtdDefaultValue = XML_DETECT_IDS | XML_COMPLETE_ATTRS;
+
        sheetp = xsltParseStylesheetFile(file);
+
+       xmlSubstituteEntitiesDefault (prevSubstValue);
+       xmlLoadExtDtdDefaultValue = prevExtDtdValue;
 
        if (!sheetp)
                RETURN_FALSE;



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

Reply via email to