diff options
author | Jerome Loyet <fat@php.net> | 2012-09-27 23:57:06 +0200 |
---|---|---|
committer | Jerome Loyet <fat@php.net> | 2012-09-27 23:57:06 +0200 |
commit | 0bffdd723fb1acbc8b1ef62768fa2f33c2d02bbc (patch) | |
tree | 04bbcd1a5da16ea5246d39c1bcae45b9eb67c526 /ext/libxml/libxml.c | |
parent | 1fa8ecd082607858084994ad7081ef06e37db5f5 (diff) | |
parent | 6a50a8640c562a41d90c7ab46affa767b97d2621 (diff) | |
download | php-git-0bffdd723fb1acbc8b1ef62768fa2f33c2d02bbc.tar.gz |
Merge branch 'PHP-5.4' of git.php.net:php-src into PHP-5.4
* 'PHP-5.4' of git.php.net:php-src: (367 commits)
fix unix/win dir separators
Fix bug #63173: Crash when invoking invalid array callback
Correct the test summary
Fixed bug #60723 (error_log error time has changed to UTC ignoring default timezo)
Fixed bug #60723 (error_log error time has changed to UTC ignoring default timezo)
Avoid calling select if maxfd returned by curl_multi_fdset is -1
Fixing NEWS file
Fixed bug #63111 (is_callable() lies for abstract static method)
updated lib versions
Fix folding
fix bug #63015 (Incorrect arginfo for DOMErrorHandler)
Bug #63000: MCAST_JOIN_GROUP on OSX is broken
Fixed bug #61442 (exception threw in __autoload can not be catched)
Merging PR #116
Merged GitHub PR #190: Support for the HTTP PATCH method in CLI webserver
updated libary versions
split tests for the new zlib version on win
Fixed Bug #63103 (ext\curl\tests\bug62839.phpt broken)
update news
Support building PHP with the native client toolchain.
...
Diffstat (limited to 'ext/libxml/libxml.c')
-rw-r--r-- | ext/libxml/libxml.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/ext/libxml/libxml.c b/ext/libxml/libxml.c index e42d845f90..a39c875b2c 100644 --- a/ext/libxml/libxml.c +++ b/ext/libxml/libxml.c @@ -677,9 +677,18 @@ is_string: static xmlParserInputPtr _php_libxml_pre_ext_ent_loader(const char *URL, const char *ID, xmlParserCtxtPtr context) { + TSRMLS_FETCH(); + /* Check whether we're running in a PHP context, since the entity loader - * we've defined is an application level (true global) setting */ - if (xmlGenericError == php_libxml_error_handler) { + * we've defined is an application level (true global) setting. + * If we are, we also want to check whether we've finished activating + * the modules (RINIT phase). Using our external entity loader during a + * RINIT should not be problem per se (though during MINIT it is, because + * we don't even have a resource list by then), but then whether one + * extension would be using the custom external entity loader or not + * could depend on extension loading order + * (if _php_libxml_per_request_initialization */ + if (xmlGenericError == php_libxml_error_handler && PG(modules_activated)) { return _php_libxml_external_entity_loader(URL, ID, context); } else { return _php_libxml_default_entity_loader(URL, ID, context); |