From 78d7ad27e21f794a1d850b5c107f9534f7627ce9 Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Sun, 28 Dec 2014 23:46:42 -0800 Subject: [PATCH] eliminate usage of deprecated zend_get_parameters_ex --- ext/intl/timezone/timezone_methods.cpp | 25 ++++++++----------------- 1 file changed, 8 insertions(+), 17 deletions(-) diff --git a/ext/intl/timezone/timezone_methods.cpp b/ext/intl/timezone/timezone_methods.cpp index 98ae6f97aa..8a3c2cc7a8 100644 --- a/ext/intl/timezone/timezone_methods.cpp +++ b/ext/intl/timezone/timezone_methods.cpp @@ -240,18 +240,12 @@ U_CFUNC PHP_FUNCTION(intltz_create_time_zone_id_enumeration) size_t region_len = 0; int32_t offset, *offsetp = NULL; - int arg3isnull = 0; - intl_error_reset(NULL); + zend_bool arg3isnull = 1; - /* must come before zpp because zpp would convert the arg in the stack to 0 */ - if (ZEND_NUM_ARGS() == 3) { - zval *dummy, *zvoffset; - arg3isnull = zend_get_parameters_ex(3, &dummy, &dummy, &zvoffset) - != FAILURE && Z_TYPE_P(zvoffset) == IS_NULL; - } + intl_error_reset(NULL); - if (zend_parse_parameters(ZEND_NUM_ARGS(), "l|s!l", - &zoneType, ®ion, ®ion_len, &offset_arg) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "l|s!l!", + &zoneType, ®ion, ®ion_len, &offset_arg, &arg3isnull) == FAILURE) { intl_error_set(NULL, U_ILLEGAL_ARGUMENT_ERROR, "intltz_create_time_zone_id_enumeration: bad arguments", 0); RETURN_FALSE; @@ -264,18 +258,15 @@ U_CFUNC PHP_FUNCTION(intltz_create_time_zone_id_enumeration) RETURN_FALSE; } - if (ZEND_NUM_ARGS() == 3) { + if (!arg3isnull) { if (offset_arg < (zend_long)INT32_MIN || offset_arg > (zend_long)INT32_MAX) { intl_error_set(NULL, U_ILLEGAL_ARGUMENT_ERROR, "intltz_create_time_zone_id_enumeration: offset out of bounds", 0); RETURN_FALSE; } - - if (!arg3isnull) { - offset = (int32_t)offset_arg; - offsetp = &offset; - } //else leave offsetp NULL - } + offset = (int32_t)offset_arg; + offsetp = &offset; + } //else leave offsetp NULL StringEnumeration *se; UErrorCode uec = UErrorCode(); -- 2.40.0