From: Antony Dovgal Date: Thu, 31 Aug 2006 11:17:37 +0000 (+0000) Subject: minor changes in iconv_substr() to avoid zval converting X-Git-Tag: RELEASE_1_0_0RC1~1817 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=32ff2a16fe258a13733bc88eb3404b8496a3e568;p=php minor changes in iconv_substr() to avoid zval converting --- diff --git a/ext/iconv/iconv.c b/ext/iconv/iconv.c index b7e5fa3220..152bbe25a0 100644 --- a/ext/iconv/iconv.c +++ b/ext/iconv/iconv.c @@ -1886,7 +1886,6 @@ PHP_FUNCTION(iconv_substr) char *str; int str_len; long offset, length; - zval *len_z = NULL; php_iconv_err_t err; @@ -1894,17 +1893,14 @@ PHP_FUNCTION(iconv_substr) charset = ICONVG(internal_encoding); - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "sl|zs", - &str, &str_len, &offset, &len_z, + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "sl|ls", + &str, &str_len, &offset, &length, &charset, &charset_len) == FAILURE) { RETURN_FALSE; } - if (len_z == NULL) { + if (ZEND_NUM_ARGS() < 3) { length = str_len; - } else { - convert_to_long_ex(&len_z); - length = Z_LVAL_P(len_z); } err = _php_iconv_substr(&retval, str, str_len, offset, length, charset);