diff options
| author | Christian Stocker <chregu@php.net> | 2002-10-28 08:54:30 +0000 | 
|---|---|---|
| committer | Christian Stocker <chregu@php.net> | 2002-10-28 08:54:30 +0000 | 
| commit | fe34195288af2a9c15513269661c0e37c13db3d0 (patch) | |
| tree | 8596a55917f465dbb412851214482161d26e2e71 /ext/domxml/php_domxml.c | |
| parent | 728eacbf52b7b1dbc45af06d622d1fe7e4c01793 (diff) | |
| download | php-git-fe34195288af2a9c15513269661c0e37c13db3d0.tar.gz | |
Patch by Morus Walter, concerning some dtd/entity expanding stuff.
Diffstat (limited to 'ext/domxml/php_domxml.c')
| -rw-r--r-- | ext/domxml/php_domxml.c | 18 | 
1 files changed, 18 insertions, 0 deletions
| diff --git a/ext/domxml/php_domxml.c b/ext/domxml/php_domxml.c index 77ce4c86eb..afaf910339 100644 --- a/ext/domxml/php_domxml.c +++ b/ext/domxml/php_domxml.c @@ -3777,6 +3777,7 @@ PHP_FUNCTION(xmldoc)  	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 @@ PHP_FUNCTION(xmldoc)  	}  	xmlSubstituteEntitiesDefault (prevSubstValue);  	xmlDoValidityCheckingDefaultValue = oldvalue; +	xmlLoadExtDtdDefaultValue = prevLoadExtDtdValue;  	xmlKeepBlanksDefault(oldvalue_keepblanks);  	if (!docp) @@ -4955,13 +4957,21 @@ PHP_FUNCTION(domxml_xslt_stylesheet)  	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,13 +5024,21 @@ PHP_FUNCTION(domxml_xslt_stylesheet_file)  	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; | 
