summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2016-09-20 12:29:57 +0300
committerDmitry Stogov <dmitry@zend.com>2016-09-20 12:29:57 +0300
commit4dd70b6e2f40c0ad85bea761803f2aeeb8ef785a (patch)
treef8cd799dd848f8ae02cb0691ea69540adaa406f0
parentfc2cadca2dc0e85bd27de0bb9ea27cf712060b84 (diff)
downloadphp-git-4dd70b6e2f40c0ad85bea761803f2aeeb8ef785a.tar.gz
Fixed inconsistent meaning of zend_startup_module_ex() return value used in zend_hash_apply()
-rw-r--r--Zend/zend_API.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/Zend/zend_API.c b/Zend/zend_API.c
index 1f50016bd6..8202b9a505 100644
--- a/Zend/zend_API.c
+++ b/Zend/zend_API.c
@@ -1805,6 +1805,12 @@ ZEND_API int zend_startup_module_ex(zend_module_entry *module TSRMLS_DC) /* {{{
}
/* }}} */
+static int zend_startup_module_int(zend_module_entry *module TSRMLS_DC) /* {{{ */
+{
+ return (zend_startup_module_ex(module TSRMLS_CC) == SUCCESS) ? ZEND_HASH_APPLY_KEEP : ZEND_HASH_APPLY_REMOVE;
+}
+/* }}} */
+
static void zend_sort_modules(void *base, size_t count, size_t siz, compare_func_t compare TSRMLS_DC) /* {{{ */
{
Bucket **b1 = base;
@@ -1921,7 +1927,7 @@ ZEND_API void zend_collect_module_handlers(TSRMLS_D) /* {{{ */
ZEND_API int zend_startup_modules(TSRMLS_D) /* {{{ */
{
zend_hash_sort(&module_registry, zend_sort_modules, NULL, 0 TSRMLS_CC);
- zend_hash_apply(&module_registry, (apply_func_t)zend_startup_module_ex TSRMLS_CC);
+ zend_hash_apply(&module_registry, (apply_func_t)zend_startup_module_int TSRMLS_CC);
return SUCCESS;
}
/* }}} */