From c5c477d77e9147034ae68c1350001b8c615f6734 Mon Sep 17 00:00:00 2001 From: Gina Peter Banyard Date: Fri, 7 Nov 2025 20:06:10 +0000 Subject: [PATCH] Zend: remove zend_delete_global_variable() API Only ext/session had one use of this that is easily replaceable, and a SourceGraph search returns 0 results. --- UPGRADING.INTERNALS | 1 + Zend/zend_API.h | 2 -- Zend/zend_execute_API.c | 6 ------ ext/session/session.c | 2 +- 4 files changed, 2 insertions(+), 9 deletions(-) diff --git a/UPGRADING.INTERNALS b/UPGRADING.INTERNALS index 57cae9aa04724..417ac4c4d8b9a 100644 --- a/UPGRADING.INTERNALS +++ b/UPGRADING.INTERNALS @@ -44,6 +44,7 @@ PHP 8.6 INTERNALS UPGRADE NOTES . The zend_get_call_trampoline_func() API now takes the __call or __callStatic zend_function* instead of a CE and a boolean argument. . The zend_set_hash_symbol() API has been removed. + . The zend_delete_global_variable() API has been removed. ======================== 2. Build system changes diff --git a/Zend/zend_API.h b/Zend/zend_API.h index eba5ef8c8a08e..e73678c73c5d8 100644 --- a/Zend/zend_API.h +++ b/Zend/zend_API.h @@ -884,8 +884,6 @@ ZEND_API zend_result zend_call_method_if_exists( zend_object *object, zend_string *method_name, zval *retval, uint32_t param_count, zval *params); -ZEND_API zend_result zend_delete_global_variable(zend_string *name); - ZEND_API zend_array *zend_rebuild_symbol_table(void); ZEND_API void zend_attach_symbol_table(zend_execute_data *execute_data); ZEND_API void zend_detach_symbol_table(zend_execute_data *execute_data); diff --git a/Zend/zend_execute_API.c b/Zend/zend_execute_API.c index 660975f9bc1b5..aa48768fa2b2f 100644 --- a/Zend/zend_execute_API.c +++ b/Zend/zend_execute_API.c @@ -1805,12 +1805,6 @@ zend_class_entry *zend_fetch_class_by_name(zend_string *class_name, zend_string } /* }}} */ -ZEND_API zend_result zend_delete_global_variable(zend_string *name) /* {{{ */ -{ - return zend_hash_del_ind(&EG(symbol_table), name); -} -/* }}} */ - ZEND_API zend_array *zend_rebuild_symbol_table(void) /* {{{ */ { zend_execute_data *ex; diff --git a/ext/session/session.c b/ext/session/session.c index 8796005e9232f..b7649849b9355 100644 --- a/ext/session/session.c +++ b/ext/session/session.c @@ -255,7 +255,7 @@ static void php_session_track_init(void) zval session_vars; zend_string *var_name = ZSTR_INIT_LITERAL("_SESSION", 0); /* Unconditionally destroy existing array -- possible dirty data */ - zend_delete_global_variable(var_name); + zend_hash_del_ind(&EG(symbol_table), var_name); if (!Z_ISUNDEF(PS(http_session_vars))) { zval_ptr_dtor(&PS(http_session_vars));