@@ -145,9 +145,9 @@ PHP_FUNCTION(datefmt_parse)
145145 DATE_FORMAT_METHOD_FETCH_OBJECT ;
146146
147147 if (z_parse_pos ) {
148- zend_long long_parse_pos ;
149- ZVAL_DEREF (z_parse_pos );
150- long_parse_pos = zval_get_long (z_parse_pos );
148+ zval * z_parse_pos_tmp = z_parse_pos ;
149+ ZVAL_DEREF (z_parse_pos_tmp );
150+ zend_long long_parse_pos = zval_get_long (z_parse_pos_tmp );
151151 if (ZEND_LONG_INT_OVFL (long_parse_pos )) {
152152 intl_error_set_code (NULL , U_ILLEGAL_ARGUMENT_ERROR );
153153 intl_error_set_custom_msg (NULL , "String index is out of valid range." , 0 );
@@ -160,8 +160,7 @@ PHP_FUNCTION(datefmt_parse)
160160 }
161161 internal_parse_to_timestamp ( dfo , text_to_parse , text_len , z_parse_pos ? & parse_pos : NULL , false, return_value );
162162 if (z_parse_pos ) {
163- zval_ptr_dtor (z_parse_pos );
164- ZVAL_LONG (z_parse_pos , parse_pos );
163+ ZEND_TRY_ASSIGN_REF_LONG (z_parse_pos , parse_pos );
165164 }
166165}
167166/* }}} */
@@ -231,9 +230,9 @@ PHP_FUNCTION(datefmt_localtime)
231230 DATE_FORMAT_METHOD_FETCH_OBJECT ;
232231
233232 if (z_parse_pos ) {
234- zend_long long_parse_pos ;
235- ZVAL_DEREF (z_parse_pos );
236- long_parse_pos = zval_get_long (z_parse_pos );
233+ zval * z_parse_pos_tmp = z_parse_pos ;
234+ ZVAL_DEREF (z_parse_pos_tmp );
235+ zend_long long_parse_pos = zval_get_long (z_parse_pos_tmp );
237236 if (ZEND_LONG_INT_OVFL (long_parse_pos )) {
238237 intl_error_set_code (NULL , U_ILLEGAL_ARGUMENT_ERROR );
239238 intl_error_set_custom_msg (NULL , "String index is out of valid range." , 0 );
@@ -246,8 +245,7 @@ PHP_FUNCTION(datefmt_localtime)
246245 }
247246 internal_parse_to_localtime ( dfo , text_to_parse , text_len , z_parse_pos ?& parse_pos :NULL , return_value );
248247 if (z_parse_pos ) {
249- zval_ptr_dtor (z_parse_pos );
250- ZVAL_LONG (z_parse_pos , parse_pos );
248+ ZEND_TRY_ASSIGN_REF_LONG (z_parse_pos , parse_pos );
251249 }
252250}
253251/* }}} */
0 commit comments