diff options
Diffstat (limited to 'ext/intl/breakiterator/breakiterator_methods.cpp')
-rw-r--r-- | ext/intl/breakiterator/breakiterator_methods.cpp | 20 |
1 files changed, 5 insertions, 15 deletions
diff --git a/ext/intl/breakiterator/breakiterator_methods.cpp b/ext/intl/breakiterator/breakiterator_methods.cpp index 64c85bad73..baab5a682d 100644 --- a/ext/intl/breakiterator/breakiterator_methods.cpp +++ b/ext/intl/breakiterator/breakiterator_methods.cpp @@ -148,30 +148,20 @@ U_CFUNC PHP_FUNCTION(breakiter_get_text) U_CFUNC PHP_FUNCTION(breakiter_set_text) { - char *text; - size_t text_len; UText *ut = NULL; - zval *textzv; + zend_string *text; BREAKITER_METHOD_INIT_VARS; object = getThis(); - if (zend_parse_parameters(ZEND_NUM_ARGS(), "s", - &text, &text_len) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "S", &text) == FAILURE) { intl_error_set(NULL, U_ILLEGAL_ARGUMENT_ERROR, "breakiter_set_text: bad arguments", 0); RETURN_FALSE; } - int res = zend_get_parameters_ex(1, &textzv); - assert(res == SUCCESS); - BREAKITER_METHOD_FETCH_OBJECT; - /* assert it's safe to use text and text_len because zpp changes the - * arguments in the stack */ - assert(text == Z_STRVAL_P(textzv)); - - ut = utext_openUTF8(ut, text, text_len, BREAKITER_ERROR_CODE_P(bio)); + ut = utext_openUTF8(ut, text->val, text->len, BREAKITER_ERROR_CODE_P(bio)); INTL_CTOR_CHECK_STATUS(bio, "breakiter_set_text: error opening UText"); bio->biter->setText(ut, BREAKITER_ERROR_CODE(bio)); @@ -183,7 +173,7 @@ U_CFUNC PHP_FUNCTION(breakiter_set_text) * keep the string buffer around by holding a reference to its zval. This * also allows a faste implementation of getText() */ zval_ptr_dtor(&bio->text); - ZVAL_COPY(&bio->text, textzv); + ZVAL_STR_COPY(&bio->text, text); RETURN_TRUE; } @@ -272,7 +262,7 @@ U_CFUNC PHP_FUNCTION(breakiter_next) no_arg_version = true; } else if (ZEND_NUM_ARGS() == 1) { zval *arg; - int res = zend_get_parameters_ex(1, &arg); + int res = zend_parse_parameters(ZEND_NUM_ARGS(), "z", &arg); assert(res == SUCCESS); if (Z_TYPE_P(arg) == IS_NULL) { no_arg_version = true; |