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