diff --git a/ext/standard/basic_functions.stub.php b/ext/standard/basic_functions.stub.php index 07e61957d191..9366737d4ce8 100644 --- a/ext/standard/basic_functions.stub.php +++ b/ext/standard/basic_functions.stub.php @@ -2365,10 +2365,16 @@ function join(string|array $separator, ?array $array = null): string {} */ function strtok(string $string, ?string $token = null): string|false {} -/** @compile-time-eval */ +/** + * @compile-time-eval + * @frameless-function {"arity": 1} + */ function strtoupper(string $string): string {} -/** @compile-time-eval */ +/** + * @compile-time-eval + * @frameless-function {"arity": 1} + */ function strtolower(string $string): string {} function str_increment(string $string): string {} diff --git a/ext/standard/basic_functions_arginfo.h b/ext/standard/basic_functions_arginfo.h index d24de1fef99d..83ceeb1e8291 100644 --- a/ext/standard/basic_functions_arginfo.h +++ b/ext/standard/basic_functions_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit basic_functions.stub.php instead. - * Stub hash: 0c8af3b78b3d6e1ee3e59c60363d0d941bea9faa + * Stub hash: 9f7ce50f366a0e72d4fb2ff3951c957863a27579 * Has decl header: yes */ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_set_time_limit, 0, 1, _IS_BOOL, 0) @@ -2246,6 +2246,18 @@ static const zend_frameless_function_info frameless_function_infos_implode[] = { { 0 }, }; +ZEND_FRAMELESS_FUNCTION(strtoupper, 1); +static const zend_frameless_function_info frameless_function_infos_strtoupper[] = { + { ZEND_FRAMELESS_FUNCTION_NAME(strtoupper, 1), 1 }, + { 0 }, +}; + +ZEND_FRAMELESS_FUNCTION(strtolower, 1); +static const zend_frameless_function_info frameless_function_infos_strtolower[] = { + { ZEND_FRAMELESS_FUNCTION_NAME(strtolower, 1), 1 }, + { 0 }, +}; + ZEND_FRAMELESS_FUNCTION(dirname, 1); ZEND_FRAMELESS_FUNCTION(dirname, 2); static const zend_frameless_function_info frameless_function_infos_dirname[] = { @@ -3168,8 +3180,8 @@ static const zend_function_entry ext_functions[] = { ZEND_RAW_FENTRY("implode", zif_implode, arginfo_implode, ZEND_ACC_COMPILE_TIME_EVAL, frameless_function_infos_implode, NULL) ZEND_RAW_FENTRY("join", zif_implode, arginfo_join, 0, NULL, NULL) ZEND_FE(strtok, arginfo_strtok) - ZEND_RAW_FENTRY("strtoupper", zif_strtoupper, arginfo_strtoupper, ZEND_ACC_COMPILE_TIME_EVAL, NULL, NULL) - ZEND_RAW_FENTRY("strtolower", zif_strtolower, arginfo_strtolower, ZEND_ACC_COMPILE_TIME_EVAL, NULL, NULL) + ZEND_RAW_FENTRY("strtoupper", zif_strtoupper, arginfo_strtoupper, ZEND_ACC_COMPILE_TIME_EVAL, frameless_function_infos_strtoupper, NULL) + ZEND_RAW_FENTRY("strtolower", zif_strtolower, arginfo_strtolower, ZEND_ACC_COMPILE_TIME_EVAL, frameless_function_infos_strtolower, NULL) ZEND_FE(str_increment, arginfo_str_increment) ZEND_FE(str_decrement, arginfo_str_decrement) ZEND_FE(basename, arginfo_basename) diff --git a/ext/standard/basic_functions_decl.h b/ext/standard/basic_functions_decl.h index 97d896e8bb6e..1da8282d8e38 100644 --- a/ext/standard/basic_functions_decl.h +++ b/ext/standard/basic_functions_decl.h @@ -1,8 +1,8 @@ /* This is a generated file, edit basic_functions.stub.php instead. - * Stub hash: 0c8af3b78b3d6e1ee3e59c60363d0d941bea9faa */ + * Stub hash: 9f7ce50f366a0e72d4fb2ff3951c957863a27579 */ -#ifndef ZEND_BASIC_FUNCTIONS_DECL_0c8af3b78b3d6e1ee3e59c60363d0d941bea9faa_H -#define ZEND_BASIC_FUNCTIONS_DECL_0c8af3b78b3d6e1ee3e59c60363d0d941bea9faa_H +#ifndef ZEND_BASIC_FUNCTIONS_DECL_9f7ce50f366a0e72d4fb2ff3951c957863a27579_H +#define ZEND_BASIC_FUNCTIONS_DECL_9f7ce50f366a0e72d4fb2ff3951c957863a27579_H typedef enum zend_enum_SortDirection { ZEND_ENUM_SortDirection_Ascending = 1, @@ -20,4 +20,4 @@ typedef enum zend_enum_RoundingMode { ZEND_ENUM_RoundingMode_PositiveInfinity = 8, } zend_enum_RoundingMode; -#endif /* ZEND_BASIC_FUNCTIONS_DECL_0c8af3b78b3d6e1ee3e59c60363d0d941bea9faa_H */ +#endif /* ZEND_BASIC_FUNCTIONS_DECL_9f7ce50f366a0e72d4fb2ff3951c957863a27579_H */ diff --git a/ext/standard/string.c b/ext/standard/string.c index d8a7479d2a98..e2e0caacaee3 100644 --- a/ext/standard/string.c +++ b/ext/standard/string.c @@ -1188,6 +1188,19 @@ PHP_FUNCTION(strtoupper) } /* }}} */ +ZEND_FRAMELESS_FUNCTION(strtoupper, 1) +{ + zval str_tmp; + zend_string *str; + + Z_FLF_PARAM_STR(1, str, str_tmp); + + RETVAL_STR(zend_string_toupper(str)); + +flf_clean: + Z_FLF_PARAM_FREE_STR(1, str_tmp); +} + /* {{{ Makes a string lowercase */ PHP_FUNCTION(strtolower) { @@ -1201,6 +1214,19 @@ PHP_FUNCTION(strtolower) } /* }}} */ +ZEND_FRAMELESS_FUNCTION(strtolower, 1) +{ + zval str_tmp; + zend_string *str; + + Z_FLF_PARAM_STR(1, str, str_tmp); + + RETVAL_STR(zend_string_tolower(str)); + +flf_clean: + Z_FLF_PARAM_FREE_STR(1, str_tmp); +} + PHP_FUNCTION(str_increment) { zend_string *str;