From 4dd70b6e2f40c0ad85bea761803f2aeeb8ef785a Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Tue, 20 Sep 2016 12:29:57 +0300 Subject: Fixed inconsistent meaning of zend_startup_module_ex() return value used in zend_hash_apply() --- Zend/zend_API.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'Zend/zend_API.c') 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; } /* }}} */ -- cgit v1.2.1