@@ -136,9 +136,9 @@ PHP_FUNCTION(datefmt_parse)
136136 DATE_FORMAT_METHOD_FETCH_OBJECT ;
137137
138138 if (z_parse_pos ) {
139- zend_long long_parse_pos ;
140- ZVAL_DEREF (z_parse_pos );
141- long_parse_pos = zval_get_long (z_parse_pos );
139+ zval * z_parse_pos_tmp = z_parse_pos ;
140+ ZVAL_DEREF (z_parse_pos_tmp );
141+ zend_long long_parse_pos = zval_get_long (z_parse_pos_tmp );
142142 if (ZEND_LONG_INT_OVFL (long_parse_pos )) {
143143 intl_error_set_code (NULL , U_ILLEGAL_ARGUMENT_ERROR );
144144 intl_error_set_custom_msg (NULL , "String index is out of valid range." , 0 );
@@ -151,8 +151,7 @@ PHP_FUNCTION(datefmt_parse)
151151 }
152152 internal_parse_to_timestamp ( dfo , text_to_parse , text_len , z_parse_pos ?& parse_pos :NULL , return_value );
153153 if (z_parse_pos ) {
154- zval_ptr_dtor (z_parse_pos );
155- ZVAL_LONG (z_parse_pos , parse_pos );
154+ ZEND_TRY_ASSIGN_REF_LONG (z_parse_pos , parse_pos );
156155 }
157156}
158157/* }}} */
@@ -177,9 +176,9 @@ PHP_FUNCTION(datefmt_localtime)
177176 DATE_FORMAT_METHOD_FETCH_OBJECT ;
178177
179178 if (z_parse_pos ) {
180- zend_long long_parse_pos ;
181- ZVAL_DEREF (z_parse_pos );
182- long_parse_pos = zval_get_long (z_parse_pos );
179+ zval * z_parse_pos_tmp = z_parse_pos ;
180+ ZVAL_DEREF (z_parse_pos_tmp );
181+ zend_long long_parse_pos = zval_get_long (z_parse_pos_tmp );
183182 if (ZEND_LONG_INT_OVFL (long_parse_pos )) {
184183 intl_error_set_code (NULL , U_ILLEGAL_ARGUMENT_ERROR );
185184 intl_error_set_custom_msg (NULL , "String index is out of valid range." , 0 );
@@ -192,8 +191,7 @@ PHP_FUNCTION(datefmt_localtime)
192191 }
193192 internal_parse_to_localtime ( dfo , text_to_parse , text_len , z_parse_pos ?& parse_pos :NULL , return_value );
194193 if (z_parse_pos ) {
195- zval_ptr_dtor (z_parse_pos );
196- ZVAL_LONG (z_parse_pos , parse_pos );
194+ ZEND_TRY_ASSIGN_REF_LONG (z_parse_pos , parse_pos );
197195 }
198196}
199197/* }}} */
0 commit comments