Commit 39e45a34064 for php.net
commit 39e45a340646b83a8d7c521bf1d7f2778e812e2d
Author: Weilin Du <weilindu@php.net>
Date: Sat Aug 1 00:06:08 2026 +0800
Zend: Refactor deduplicate auto-global checks (#22963)
Reuse the part of logic which duplicates in two functions.
diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c
index 9c80cccb7cb..088573a50ee 100644
--- a/Zend/zend_compile.c
+++ b/Zend/zend_compile.c
@@ -1995,30 +1995,27 @@ static void zend_do_extended_fcall_end(void) /* {{{ */
}
/* }}} */
-ZEND_API bool zend_is_auto_global_str(const char *name, size_t len) /* {{{ */ {
- zend_auto_global *auto_global;
+static zend_always_inline bool zend_auto_global_check(zend_auto_global *auto_global)
+{
+ if (auto_global == NULL) {
+ return false;
+ }
- if ((auto_global = zend_hash_str_find_ptr(CG(auto_globals), name, len)) != NULL) {
- if (auto_global->armed) {
- auto_global->armed = auto_global->auto_global_callback(auto_global->name);
- }
- return 1;
+ if (auto_global->armed) {
+ auto_global->armed = auto_global->auto_global_callback(auto_global->name);
}
- return 0;
+ return true;
+}
+
+ZEND_API bool zend_is_auto_global_str(const char *name, size_t len) /* {{{ */
+{
+ return zend_auto_global_check(zend_hash_str_find_ptr(CG(auto_globals), name, len));
}
/* }}} */
ZEND_API bool zend_is_auto_global(zend_string *name) /* {{{ */
{
- zend_auto_global *auto_global;
-
- if ((auto_global = zend_hash_find_ptr(CG(auto_globals), name)) != NULL) {
- if (auto_global->armed) {
- auto_global->armed = auto_global->auto_global_callback(auto_global->name);
- }
- return 1;
- }
- return 0;
+ return zend_auto_global_check(zend_hash_find_ptr(CG(auto_globals), name));
}
/* }}} */