[PHP-CVS] [php-src] master: Zend: Refactor deduplicate auto-global checks (#22963)
[email protected] (Weilin Du via GitHub) Fri, 31 Jul 2026 16:06:11 +0000
| Newsgroups | php.cvs |
|---|---|
| Message-ID | <[email protected]> |
Author: Weilin Du (LamentXU123)
Committer: GitHub (web-flow)
Pusher: LamentXU123
Date: 2026-08-01T00:06:08+08:00
Commit: https://github.com/php/php-src/commit/39e45a340646b83a8d7c521bf1d7f2778e812e2d
Raw diff: https://github.com/php/php-src/commit/39e45a340646b83a8d7c521bf1d7f2778e812e2d.diff
Zend: Refactor deduplicate auto-global checks (#22963)
Reuse the part of logic which duplicates in two functions.
Changed paths:
M Zend/zend_compile.c
Diff:
diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c
index 9c80cccb7cb9..088573a50ee8 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));
}
/* }}} */