From 4fca8a602781f9fb1ebf8980551f98bd6f8040d3 Mon Sep 17 00:00:00 2001 From: David CARLIER Date: Sat, 1 Jun 2024 17:40:16 +0100 Subject: [PATCH] ext/intl: SpoofChecker using fast ZPP. (#14412) --- ext/intl/spoofchecker/spoofchecker_create.c | 4 +-- ext/intl/spoofchecker/spoofchecker_main.c | 36 ++++++++++++--------- 2 files changed, 21 insertions(+), 19 deletions(-) diff --git a/ext/intl/spoofchecker/spoofchecker_create.c b/ext/intl/spoofchecker/spoofchecker_create.c index 54470808c93..1b718eb3079 100644 --- a/ext/intl/spoofchecker/spoofchecker_create.c +++ b/ext/intl/spoofchecker/spoofchecker_create.c @@ -29,9 +29,7 @@ PHP_METHOD(Spoofchecker, __construct) zend_error_handling error_handling; SPOOFCHECKER_METHOD_INIT_VARS; - if (zend_parse_parameters_none() == FAILURE) { - RETURN_THROWS(); - } + ZEND_PARSE_PARAMETERS_NONE(); zend_replace_error_handling(EH_THROW, IntlException_ce_ptr, &error_handling); diff --git a/ext/intl/spoofchecker/spoofchecker_main.c b/ext/intl/spoofchecker/spoofchecker_main.c index 3831b9403ea..8d6955eb024 100644 --- a/ext/intl/spoofchecker/spoofchecker_main.c +++ b/ext/intl/spoofchecker/spoofchecker_main.c @@ -28,9 +28,11 @@ PHP_METHOD(Spoofchecker, isSuspicious) zval *error_code = NULL; SPOOFCHECKER_METHOD_INIT_VARS; - if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS(), "s|z", &text, &text_len, &error_code)) { - RETURN_THROWS(); - } + ZEND_PARSE_PARAMETERS_START(1, 2) + Z_PARAM_STRING(text, text_len) + Z_PARAM_OPTIONAL + Z_PARAM_ZVAL_OR_NULL(error_code) + ZEND_PARSE_PARAMETERS_END(); SPOOFCHECKER_METHOD_FETCH_OBJECT; @@ -70,10 +72,12 @@ PHP_METHOD(Spoofchecker, areConfusable) zval *error_code = NULL; SPOOFCHECKER_METHOD_INIT_VARS; - if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS(), "ss|z", &s1, &s1_len, - &s2, &s2_len, &error_code)) { - RETURN_THROWS(); - } + ZEND_PARSE_PARAMETERS_START(2, 3) + Z_PARAM_STRING(s1, s1_len) + Z_PARAM_STRING(s2, s2_len) + Z_PARAM_OPTIONAL + Z_PARAM_ZVAL_OR_NULL(error_code) + ZEND_PARSE_PARAMETERS_END(); SPOOFCHECKER_METHOD_FETCH_OBJECT; if(s1_len > INT32_MAX || s2_len > INT32_MAX) { @@ -102,9 +106,9 @@ PHP_METHOD(Spoofchecker, setAllowedLocales) size_t locales_len; SPOOFCHECKER_METHOD_INIT_VARS; - if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS(), "s", &locales, &locales_len)) { - RETURN_THROWS(); - } + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STRING(locales, locales_len) + ZEND_PARSE_PARAMETERS_END(); SPOOFCHECKER_METHOD_FETCH_OBJECT; @@ -123,9 +127,9 @@ PHP_METHOD(Spoofchecker, setChecks) zend_long checks; SPOOFCHECKER_METHOD_INIT_VARS; - if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS(), "l", &checks)) { - RETURN_THROWS(); - } + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_LONG(checks) + ZEND_PARSE_PARAMETERS_END(); SPOOFCHECKER_METHOD_FETCH_OBJECT; @@ -145,9 +149,9 @@ PHP_METHOD(Spoofchecker, setRestrictionLevel) zend_long level; SPOOFCHECKER_METHOD_INIT_VARS; - if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS(), "l", &level)) { - RETURN_THROWS(); - } + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_LONG(level) + ZEND_PARSE_PARAMETERS_END(); SPOOFCHECKER_METHOD_FETCH_OBJECT;