summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2020-02-28 10:21:50 +0100
committerNikita Popov <nikita.ppv@gmail.com>2020-02-28 10:21:50 +0100
commit6d19acf54b1553f1f1e9156b85c22a53b10a9c8e (patch)
tree3e5b1b0b3b2f3a3a5ff73c6c348c2e5c4c25399b
parentcb881844204dd7b7f8a3661a086345ab29a62420 (diff)
downloadphp-git-6d19acf54b1553f1f1e9156b85c22a53b10a9c8e.tar.gz
Use type-checked ref assignment in UConverter
-rw-r--r--ext/intl/converter/converter.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/ext/intl/converter/converter.c b/ext/intl/converter/converter.c
index 8c9377ecae..49d0d25ecf 100644
--- a/ext/intl/converter/converter.c
+++ b/ext/intl/converter/converter.c
@@ -63,9 +63,6 @@ static inline void php_converter_throw_failure(php_converter_object *objval, UEr
/* {{{ php_converter_default_callback */
static void php_converter_default_callback(zval *return_value, zval *zobj, zend_long reason, zval *error) {
- ZVAL_DEREF(error);
- zval_ptr_dtor(error);
- ZVAL_LONG(error, U_ZERO_ERROR);
/* Basic functionality so children can call parent::toUCallback() */
switch (reason) {
case UCNV_UNASSIGNED:
@@ -81,7 +78,7 @@ static void php_converter_default_callback(zval *return_value, zval *zobj, zend_
chars[0] = 0x1A;
chars[1] = 0;
chars_len = 1;
- ZVAL_LONG(error, U_INVALID_STATE_ERROR);
+ ZEND_TRY_ASSIGN_REF_LONG(error, U_INVALID_STATE_ERROR);
RETVAL_STRINGL(chars, chars_len);
return;
}
@@ -99,8 +96,8 @@ static void php_converter_default_callback(zval *return_value, zval *zobj, zend_
chars[0] = 0x1A;
chars[1] = 0;
chars_len = 1;
- ZVAL_LONG(error, uerror);
}
+ ZEND_TRY_ASSIGN_REF_LONG(error, uerror);
RETVAL_STRINGL(chars, chars_len);
}
}