From: Nikita Popov Date: Wed, 13 May 2020 12:46:15 +0000 (+0200) Subject: Rename zend_zval_get_type() API X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=3f51d82bcabdd9c42d518758a68a4431e20f3e28;p=php Rename zend_zval_get_type() API We have a bunch of APIs for getting type names and it's sometimes hard to keep them apart ... make it clear that this is the one you definitely do not want to use. --- diff --git a/Zend/zend_API.c b/Zend/zend_API.c index 3670557d0d..fe6c68e5e5 100644 --- a/Zend/zend_API.c +++ b/Zend/zend_API.c @@ -138,7 +138,9 @@ ZEND_API const char *zend_zval_type_name(const zval *arg) /* {{{ */ } /* }}} */ -ZEND_API zend_string *zend_zval_get_type(const zval *arg) /* {{{ */ +/* This API exists *only* for use in gettype(). + * For anything else, you likely want zend_zval_type_name(). */ +ZEND_API zend_string *zend_zval_get_legacy_type(const zval *arg) /* {{{ */ { switch (Z_TYPE_P(arg)) { case IS_NULL: diff --git a/Zend/zend_API.h b/Zend/zend_API.h index 366f85c81f..c355456892 100644 --- a/Zend/zend_API.h +++ b/Zend/zend_API.h @@ -301,7 +301,7 @@ ZEND_API int zend_parse_parameters_ex(int flags, int num_args, const char *type_ #define zend_parse_parameters_throw(num_args, ...) \ zend_parse_parameters(num_args, __VA_ARGS__) ZEND_API const char *zend_zval_type_name(const zval *arg); -ZEND_API zend_string *zend_zval_get_type(const zval *arg); +ZEND_API zend_string *zend_zval_get_legacy_type(const zval *arg); ZEND_API int zend_parse_method_parameters(int num_args, zval *this_ptr, const char *type_spec, ...); ZEND_API int zend_parse_method_parameters_ex(int flags, int num_args, zval *this_ptr, const char *type_spec, ...); diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h index 1395d48605..5be0f1156d 100644 --- a/Zend/zend_vm_def.h +++ b/Zend/zend_vm_def.h @@ -8562,7 +8562,7 @@ ZEND_VM_COLD_CONST_HANDLER(193, ZEND_GET_TYPE, CONST|TMP|VAR|CV, UNUSED) SAVE_OPLINE(); op1 = GET_OP1_ZVAL_PTR_DEREF(BP_VAR_R); - type = zend_zval_get_type(op1); + type = zend_zval_get_legacy_type(op1); if (EXPECTED(type)) { ZVAL_INTERNED_STR(EX_VAR(opline->result.var), type); } else { diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h index 6bf3ff5101..4b54565719 100644 --- a/Zend/zend_vm_execute.h +++ b/Zend/zend_vm_execute.h @@ -9360,7 +9360,7 @@ static ZEND_VM_COLD ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_GET_TYPE_SPEC_CON SAVE_OPLINE(); op1 = RT_CONSTANT(opline, opline->op1); - type = zend_zval_get_type(op1); + type = zend_zval_get_legacy_type(op1); if (EXPECTED(type)) { ZVAL_INTERNED_STR(EX_VAR(opline->result.var), type); } else { @@ -19087,7 +19087,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_GET_TYPE_SPEC_TMP_UNUSED_HANDL SAVE_OPLINE(); op1 = _get_zval_ptr_tmp(opline->op1.var EXECUTE_DATA_CC); - type = zend_zval_get_type(op1); + type = zend_zval_get_legacy_type(op1); if (EXPECTED(type)) { ZVAL_INTERNED_STR(EX_VAR(opline->result.var), type); } else { @@ -26693,7 +26693,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_GET_TYPE_SPEC_VAR_UNUSED_HANDL SAVE_OPLINE(); op1 = _get_zval_ptr_var_deref(opline->op1.var EXECUTE_DATA_CC); - type = zend_zval_get_type(op1); + type = zend_zval_get_legacy_type(op1); if (EXPECTED(type)) { ZVAL_INTERNED_STR(EX_VAR(opline->result.var), type); } else { @@ -45286,7 +45286,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_GET_TYPE_SPEC_CV_UNUSED_HANDLE SAVE_OPLINE(); op1 = _get_zval_ptr_cv_deref_BP_VAR_R(opline->op1.var EXECUTE_DATA_CC); - type = zend_zval_get_type(op1); + type = zend_zval_get_legacy_type(op1); if (EXPECTED(type)) { ZVAL_INTERNED_STR(EX_VAR(opline->result.var), type); } else { diff --git a/ext/standard/type.c b/ext/standard/type.c index 915fa2414d..7424aea426 100644 --- a/ext/standard/type.c +++ b/ext/standard/type.c @@ -28,7 +28,7 @@ PHP_FUNCTION(gettype) Z_PARAM_ZVAL(arg) ZEND_PARSE_PARAMETERS_END(); - type = zend_zval_get_type(arg); + type = zend_zval_get_legacy_type(arg); if (EXPECTED(type)) { RETURN_INTERNED_STR(type); } else {