From: Antony Dovgal Date: Tue, 8 Aug 2006 16:59:11 +0000 (+0000) Subject: implement zend_unicode_to_string() and zend_string_to_unicode() X-Git-Tag: RELEASE_1_0_0RC1~2035 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=dbe20923139afd2673e35ab3fbdc6fd0b99c81bf;p=php implement zend_unicode_to_string() and zend_string_to_unicode() part #2 (of 2) --- diff --git a/ext/dom/node.c b/ext/dom/node.c index 6d16579e27..4583438742 100644 --- a/ext/dom/node.c +++ b/ext/dom/node.c @@ -1785,7 +1785,7 @@ static void dom_canonicalization(INTERNAL_FUNCTION_PARAMETERS, int mode) UErrorCode errCode = 0; if (Z_TYPE_PP(tmpns) == IS_UNICODE) { - zend_convert_from_unicode(UG(utf8_conv), &nschar, &nschar_len, Z_USTRVAL_PP(tmpns), Z_USTRLEN_PP(tmpns), &errCode); + zend_unicode_to_string_ex(UG(utf8_conv), &nschar, &nschar_len, Z_USTRVAL_PP(tmpns), Z_USTRLEN_PP(tmpns), &errCode); } else { nschar = Z_STRVAL_PP(tmpns); } @@ -1800,7 +1800,7 @@ static void dom_canonicalization(INTERNAL_FUNCTION_PARAMETERS, int mode) int tmp_prefix_len; errCode = 0; - zend_convert_from_unicode(UG(utf8_conv), &tmp_prefix, &tmp_prefix_len, prefix.u, prefix_key_len, &errCode); + zend_unicode_to_string_ex(UG(utf8_conv), &tmp_prefix, &tmp_prefix_len, prefix.u, prefix_key_len, &errCode); xmlXPathRegisterNs(ctxp, (xmlChar *)tmp_prefix, (xmlChar *)nschar); efree(tmp_prefix); } @@ -1815,7 +1815,7 @@ static void dom_canonicalization(INTERNAL_FUNCTION_PARAMETERS, int mode) if (Z_TYPE_PP(zxquery) == IS_UNICODE) { UErrorCode errCode = 0; - zend_convert_from_unicode(UG(utf8_conv), &xquery, &xquery_len, Z_USTRVAL_PP(zxquery), Z_USTRLEN_PP(zxquery), &errCode); + zend_unicode_to_string_ex(UG(utf8_conv), &xquery, &xquery_len, Z_USTRVAL_PP(zxquery), Z_USTRLEN_PP(zxquery), &errCode); } else { xquery = Z_STRVAL_PP(zxquery); } @@ -1857,7 +1857,7 @@ static void dom_canonicalization(INTERNAL_FUNCTION_PARAMETERS, int mode) char *prefix; int prfeix_len; - zend_convert_from_unicode(UG(utf8_conv), &prefix, &prfeix_len, Z_USTRVAL_PP(tmpns), Z_USTRLEN_PP(tmpns), &errCode); + zend_unicode_to_string_ex(UG(utf8_conv), &prefix, &prfeix_len, Z_USTRVAL_PP(tmpns), Z_USTRLEN_PP(tmpns), &errCode); inclusive_ns_prefixes[nscount++] = prefix; } zend_hash_move_forward(Z_ARRVAL_P(ns_prefixes)); diff --git a/ext/pdo/pdo_stmt.c b/ext/pdo/pdo_stmt.c index 430bde1af0..8911e3a29f 100755 --- a/ext/pdo/pdo_stmt.c +++ b/ext/pdo/pdo_stmt.c @@ -514,7 +514,7 @@ static inline void fetch_value(pdo_stmt_t *stmt, zval *dest, int colno TSRMLS_DC UChar *u_str; int u_len; - zend_convert_to_unicode(ZEND_U_CONVERTER(UG(runtime_encoding_conv)), &u_str, &u_len, value, value_len, &status); + zend_string_to_unicode_ex(ZEND_U_CONVERTER(UG(runtime_encoding_conv)), &u_str, &u_len, value, value_len, &status); ZVAL_UNICODEL(dest, u_str, u_len, 0); if (caller_frees) { efree(value); diff --git a/ext/simplexml/simplexml.c b/ext/simplexml/simplexml.c index 4278bd1113..680c066442 100644 --- a/ext/simplexml/simplexml.c +++ b/ext/simplexml/simplexml.c @@ -2080,7 +2080,7 @@ static int php_sxe_iterator_current_key(zend_object_iterator *iter, zstr *str_ke int u_len; namelen = xmlStrlen(curnode->name); - zend_convert_to_unicode(ZEND_U_CONVERTER(UG(runtime_encoding_conv)), &str_key->u, &u_len, (char*)curnode->name, namelen, &status); + zend_string_to_unicode_ex(ZEND_U_CONVERTER(UG(runtime_encoding_conv)), &str_key->u, &u_len, (char*)curnode->name, namelen, &status); *str_key_len = u_len + 1; return HASH_KEY_IS_UNICODE; } else { diff --git a/ext/soap/php_encoding.c b/ext/soap/php_encoding.c index 99b70139b4..91bf447384 100644 --- a/ext/soap/php_encoding.c +++ b/ext/soap/php_encoding.c @@ -3170,7 +3170,7 @@ static encodePtr get_array_type(xmlNodePtr node, zval *array, smart_str *type TS ALLOC_INIT_ZVAL(tmp); Z_TYPE_P(tmp) = IS_STRING; - zend_convert_from_unicode(UG(utf8_conv), &Z_STRVAL_P(tmp), &Z_STRLEN_P(tmp), Z_USTRVAL_P(cur_stype), Z_USTRLEN_P(cur_stype), &status); + zend_unicode_to_string_ex(UG(utf8_conv), &Z_STRVAL_P(tmp), &Z_STRLEN_P(tmp), Z_USTRVAL_P(cur_stype), Z_USTRLEN_P(cur_stype), &status); cur_stype = tmp; } else { cur_stype->refcount++; @@ -3183,7 +3183,7 @@ static encodePtr get_array_type(xmlNodePtr node, zval *array, smart_str *type TS ALLOC_INIT_ZVAL(tmp); Z_TYPE_P(tmp) = IS_STRING; - zend_convert_from_unicode(UG(utf8_conv), &Z_STRVAL_P(tmp), &Z_STRLEN_P(tmp), Z_USTRVAL_P(cur_ns), Z_USTRLEN_P(cur_ns), &status); + zend_unicode_to_string_ex(UG(utf8_conv), &Z_STRVAL_P(tmp), &Z_STRLEN_P(tmp), Z_USTRVAL_P(cur_ns), Z_USTRLEN_P(cur_ns), &status); cur_ns = tmp; } else { cur_ns->refcount++; diff --git a/ext/soap/php_http.c b/ext/soap/php_http.c index b88c17b013..6032fa0cb4 100644 --- a/ext/soap/php_http.c +++ b/ext/soap/php_http.c @@ -632,7 +632,7 @@ try_again: char *res; int res_len; - zend_convert_from_unicode(UG(utf8_conv), &res, &res_len, key.u, key_len-1, &status); + zend_unicode_to_string_ex(UG(utf8_conv), &res, &res_len, key.u, key_len-1, &status); smart_str_appendl(&soap_headers, res, res_len); efree(res); } @@ -644,7 +644,7 @@ try_again: char *res; int res_len; - zend_convert_from_unicode(UG(utf8_conv), &res, &res_len, Z_USTRVAL_PP(value), Z_USTRLEN_PP(value), &status); + zend_unicode_to_string_ex(UG(utf8_conv), &res, &res_len, Z_USTRVAL_PP(value), Z_USTRLEN_PP(value), &status); smart_str_appendl(&soap_headers, res, res_len); efree(res); } diff --git a/ext/soap/soap.c b/ext/soap/soap.c index 538b05e31a..5593a9bc41 100644 --- a/ext/soap/soap.c +++ b/ext/soap/soap.c @@ -308,7 +308,7 @@ char* soap_unicode_to_string(UChar *ustr, int ustr_len TSRMLS_DC) char *tmp; int tmp_len; - zend_convert_from_unicode(UG(utf8_conv), &tmp, &tmp_len, ustr, ustr_len, &errCode); + zend_unicode_to_string_ex(UG(utf8_conv), &tmp, &tmp_len, ustr, ustr_len, &errCode); return tmp; } diff --git a/ext/sqlite/sqlite.c b/ext/sqlite/sqlite.c index abf0605244..1c12d79437 100644 --- a/ext/sqlite/sqlite.c +++ b/ext/sqlite/sqlite.c @@ -1689,7 +1689,7 @@ PHP_FUNCTION(sqlite_fetch_column_types) UChar *u_str; int u_len; - zend_convert_to_unicode(ZEND_U_CONVERTER(UG(runtime_encoding_conv)), &u_str, &u_len, tmp, strlen(tmp), &status); + zend_string_to_unicode_ex(ZEND_U_CONVERTER(UG(runtime_encoding_conv)), &u_str, &u_len, tmp, strlen(tmp), &status); if (result_type == PHPSQLITE_ASSOC) { add_assoc_unicode(return_value, colname, u_str, 1); } @@ -1857,7 +1857,7 @@ static void php_sqlite_fetch_array(struct php_sqlite_result *res, int mode, zend UChar *u_str; int u_len; - zend_convert_to_unicode(ZEND_U_CONVERTER(UG(runtime_encoding_conv)), &u_str, &u_len, (char*)rowdata[j], strlen((char*)rowdata[j]), &status); + zend_string_to_unicode_ex(ZEND_U_CONVERTER(UG(runtime_encoding_conv)), &u_str, &u_len, (char*)rowdata[j], strlen((char*)rowdata[j]), &status); ZVAL_UNICODEL(decoded, u_str, u_len, 0); if (!buffered) { efree((char *)rowdata[j]); @@ -1945,7 +1945,7 @@ static void php_sqlite_fetch_column(struct php_sqlite_result *res, zval *which, UChar *u_str; int u_len; - zend_convert_to_unicode(ZEND_U_CONVERTER(UG(runtime_encoding_conv)), &u_str, &u_len, (char*)rowdata[j], strlen((char*)rowdata[j]), &status); + zend_string_to_unicode_ex(ZEND_U_CONVERTER(UG(runtime_encoding_conv)), &u_str, &u_len, (char*)rowdata[j], strlen((char*)rowdata[j]), &status); RETVAL_UNICODEL(u_str, u_len, 0); if (!res->buffered) { efree((char *)rowdata[j]); @@ -2277,7 +2277,7 @@ static void php_sqlite_fetch_single(struct php_sqlite_result *res, zend_bool dec UChar *u_str; int u_len; - zend_convert_to_unicode(ZEND_U_CONVERTER(UG(runtime_encoding_conv)), &u_str, &u_len, decoded, decoded_len, &status); + zend_string_to_unicode_ex(ZEND_U_CONVERTER(UG(runtime_encoding_conv)), &u_str, &u_len, decoded, decoded_len, &status); if (free_decoded) { efree(decoded); } diff --git a/ext/standard/array.c b/ext/standard/array.c index 03d40c046d..b71fae946f 100644 --- a/ext/standard/array.c +++ b/ext/standard/array.c @@ -1277,7 +1277,7 @@ static int php_extract_prefix_varname(zval *result, zval *prefix, zstr var_name, int buf_len; UErrorCode status = U_ZERO_ERROR; - zend_convert_to_unicode(ZEND_U_CONVERTER(UG(runtime_encoding_conv)), + zend_string_to_unicode_ex(ZEND_U_CONVERTER(UG(runtime_encoding_conv)), &buf, &buf_len, var_name.s, var_name_len, &status); if (U_FAILURE(status)) { zval_dtor(result); @@ -1304,7 +1304,7 @@ static int php_extract_prefix_varname(zval *result, zval *prefix, zstr var_name, int buf_len; UErrorCode status = U_ZERO_ERROR; - zend_convert_from_unicode(ZEND_U_CONVERTER(UG(runtime_encoding_conv)), + zend_unicode_to_string_ex(ZEND_U_CONVERTER(UG(runtime_encoding_conv)), &buf, &buf_len, var_name.u, var_name_len, &status); if (U_FAILURE(status)) { zval_dtor(result); diff --git a/ext/standard/streamsfuncs.c b/ext/standard/streamsfuncs.c index 2b8dceea6b..05f92f315e 100644 --- a/ext/standard/streamsfuncs.c +++ b/ext/standard/streamsfuncs.c @@ -870,7 +870,7 @@ static int parse_context_options(php_stream_context *context, zval *options TSRM char *tmp; int tmp_len; - zend_convert_from_unicode(ZEND_U_CONVERTER(UG(runtime_encoding_conv)), &tmp, &tmp_len, wkey.u, wkey_len, &errCode); + zend_unicode_to_string_ex(ZEND_U_CONVERTER(UG(runtime_encoding_conv)), &tmp, &tmp_len, wkey.u, wkey_len, &errCode); wkey.s = tmp; wkey_len = tmp_len; } @@ -884,7 +884,7 @@ static int parse_context_options(php_stream_context *context, zval *options TSRM char *tmp; int tmp_len; - zend_convert_from_unicode(ZEND_U_CONVERTER(UG(runtime_encoding_conv)), &tmp, &tmp_len, okey.u, okey_len, &errCode); + zend_unicode_to_string_ex(ZEND_U_CONVERTER(UG(runtime_encoding_conv)), &tmp, &tmp_len, okey.u, okey_len, &errCode); okey.s = tmp; okey_len = tmp_len; php_stream_context_set_option(context, wkey.s, okey.s, *oval); diff --git a/ext/standard/var.c b/ext/standard/var.c index 058faea83d..8cf0af4007 100644 --- a/ext/standard/var.c +++ b/ext/standard/var.c @@ -56,7 +56,7 @@ static void php_var_dump_unicode(UChar *ustr, int length, int verbose, char *quo return; } - zend_convert_from_unicode(ZEND_U_CONVERTER(UG(output_encoding_conv)), &out, &clen, ustr, length, &status); + zend_unicode_to_string_ex(ZEND_U_CONVERTER(UG(output_encoding_conv)), &out, &clen, ustr, length, &status); if(U_FAILURE(status)) { php_printf("problem converting string from Unicode: %s\n", u_errorName(status)); efree(out); diff --git a/ext/unicode/unicode.c b/ext/unicode/unicode.c index 11948dc39d..9e67e121e4 100644 --- a/ext/unicode/unicode.c +++ b/ext/unicode/unicode.c @@ -60,7 +60,7 @@ static PHP_FUNCTION(unicode_decode) zend_set_converter_error_mode(conv, ZEND_TO_UNICODE, flags); status = U_ZERO_ERROR; - num_conv = zend_convert_to_unicode(conv, &dest, &dest_len, str, str_len, &status); + num_conv = zend_string_to_unicode_ex(conv, &dest, &dest_len, str, str_len, &status); if (U_FAILURE(status)) { zend_raise_conversion_error_ex("could not decode binary string", conv, ZEND_TO_UNICODE, num_conv TSRMLS_CC); efree(dest); @@ -111,7 +111,7 @@ static PHP_FUNCTION(unicode_encode) zend_set_converter_subst_char(conv, UG(from_subst_char)); status = U_ZERO_ERROR; - num_conv = zend_convert_from_unicode(conv, &dest, &dest_len, uni, uni_len, &status); + num_conv = zend_unicode_to_string_ex(conv, &dest, &dest_len, uni, uni_len, &status); if (U_FAILURE(status)) { int32_t offset = u_countChar32(uni, num_conv); zend_raise_conversion_error_ex("could not encode Unicode string", conv, ZEND_FROM_UNICODE, offset TSRMLS_CC); diff --git a/main/output.c b/main/output.c index ba4469e598..7f34357582 100644 --- a/main/output.c +++ b/main/output.c @@ -243,7 +243,7 @@ PHPAPI int php_output_write_unicode(const UChar *str, size_t len TSRMLS_DC) return 0; } - zend_convert_from_unicode(UG(output_encoding_conv), &buf_str, &buf_len, str, len, &status); + zend_unicode_to_string_ex(UG(output_encoding_conv), &buf_str, &buf_len, str, len, &status); if (U_ZERO_ERROR == status) { php_output_op(PHP_OUTPUT_HANDLER_WRITE, buf_str, buf_len TSRMLS_CC); } diff --git a/main/php_variables.c b/main/php_variables.c index ad926bd631..24c72ab0de 100644 --- a/main/php_variables.c +++ b/main/php_variables.c @@ -372,8 +372,8 @@ last_value: php_url_decode(var, var_len); val++; val_len = php_url_decode(val, (p - val)); - zend_convert_to_unicode(input_conv, &u_var, &u_var_len, var, var_len, &status1); - zend_convert_to_unicode(input_conv, &u_val, &u_val_len, val, val_len, &status2); + zend_string_to_unicode_ex(input_conv, &u_var, &u_var_len, var, var_len, &status1); + zend_string_to_unicode_ex(input_conv, &u_val, &u_val_len, val, val_len, &status2); if (U_SUCCESS(status1) && U_SUCCESS(status2)) { /* UTODO add input filtering */ php_u_register_variable_safe(u_var, u_val, u_val_len, array_ptr TSRMLS_CC); @@ -515,7 +515,7 @@ SAPI_API SAPI_TREAT_DATA_FUNC(php_default_treat_data) int u_var_len, u_val_len; UErrorCode status = U_ZERO_ERROR; - zend_convert_to_unicode(input_conv, &u_var, &u_var_len, var, var_len, &status); + zend_string_to_unicode_ex(input_conv, &u_var, &u_var_len, var, var_len, &status); if (U_FAILURE(status)) { /* UTODO set a user-accessible flag to indicate that conversion failed? */ efree(u_var); @@ -527,7 +527,7 @@ SAPI_API SAPI_TREAT_DATA_FUNC(php_default_treat_data) unsigned int new_val_len; val_len = php_url_decode(val, strlen(val)); - zend_convert_to_unicode(input_conv, &u_val, &u_val_len, val, val_len, &status); + zend_string_to_unicode_ex(input_conv, &u_val, &u_val_len, val, val_len, &status); if (U_FAILURE(status)) { /* UTODO set a user-accessible flag to indicate that conversion failed? */ efree(u_var); diff --git a/main/rfc1867.c b/main/rfc1867.c index 081a5f9466..d83a47f3d0 100644 --- a/main/rfc1867.c +++ b/main/rfc1867.c @@ -365,7 +365,7 @@ static inline UChar *php_ap_to_unicode(char *in, int32_t in_len, int32_t *out_le } input_conv = ZEND_U_CONVERTER(UG(output_encoding_conv)); - zend_convert_to_unicode(input_conv, &buf, &buf_len, in, in_len, &status); + zend_string_to_unicode_ex(input_conv, &buf, &buf_len, in, in_len, &status); if (U_SUCCESS(status)) { if (out_len) *out_len = buf_len; @@ -1151,7 +1151,7 @@ static SAPI_POST_HANDLER_FUNC(rfc1867_post_handler_unicode) if (value) { /* UTODO use 'charset' parameter for conversion */ - zend_convert_to_unicode(input_conv, &u_val, &u_val_len, value, value_len, &status); + zend_string_to_unicode_ex(input_conv, &u_val, &u_val_len, value, value_len, &status); if (U_FAILURE(status)) { /* UTODO set a user-accessible flag to indicate that conversion failed? */ goto var_done; diff --git a/main/spprintf.c b/main/spprintf.c index 501c435875..477c03100f 100644 --- a/main/spprintf.c +++ b/main/spprintf.c @@ -589,7 +589,7 @@ fmt_unicode: s = (char*)u; s_unicode = 1; } else { - zend_convert_from_unicode(conv, &res, &s_len, u, u_len, &status); + zend_unicode_to_string_ex(conv, &res, &s_len, u, u_len, &status); if (U_FAILURE(status)) { php_error(E_WARNING, "Could not convert Unicode to printable form in s[np]printf call"); return; diff --git a/main/streams/filter.c b/main/streams/filter.c index ffac635297..578eea6967 100644 --- a/main/streams/filter.c +++ b/main/streams/filter.c @@ -727,13 +727,13 @@ PHPAPI int _php_stream_bucket_convert(php_stream_bucket *bucket, unsigned char t UChar *dest; int destlen; - zend_convert_to_unicode(conv, &dest, &destlen, bucket->buf.s, bucket->buflen, &status); + zend_string_to_unicode_ex(conv, &dest, &destlen, bucket->buf.s, bucket->buflen, &status); if (bucket->own_buf) { pefree(bucket->buf.s, bucket->is_persistent); } - /* Might be dangerous, double check this (or, better, get a persistent version of zend_convert_to_unicode() */ + /* Might be dangerous, double check this (or, better, get a persistent version of zend_string_to_unicode_ex() */ bucket->is_persistent = 0; bucket->buf_type = IS_UNICODE; @@ -746,7 +746,7 @@ PHPAPI int _php_stream_bucket_convert(php_stream_bucket *bucket, unsigned char t char *dest; int destlen, num_conv; - num_conv = zend_convert_from_unicode(conv, &dest, &destlen, bucket->buf.u, bucket->buflen, &status); + num_conv = zend_unicode_to_string_ex(conv, &dest, &destlen, bucket->buf.u, bucket->buflen, &status); if (U_FAILURE(status)) { int32_t offset = u_countChar32(bucket->buf.u, num_conv); diff --git a/main/streams/streams.c b/main/streams/streams.c index e150cf36fb..0ce3883cb0 100755 --- a/main/streams/streams.c +++ b/main/streams/streams.c @@ -1219,7 +1219,7 @@ static size_t _php_stream_write_buffer(php_stream *stream, int buf_type, zstr bu UErrorCode status = U_ZERO_ERROR; /* Use runtime_encoding to map to binary */ - num_conv = zend_convert_from_unicode(ZEND_U_CONVERTER(UG(runtime_encoding_conv)), &str, &len, buf.u, buflen, &status); + num_conv = zend_unicode_to_string_ex(ZEND_U_CONVERTER(UG(runtime_encoding_conv)), &str, &len, buf.u, buflen, &status); if (U_FAILURE(status)) { zend_raise_conversion_error_ex("Unable to convert data to be written", ZEND_U_CONVERTER(UG(runtime_encoding_conv)), ZEND_FROM_UNICODE, num_conv TSRMLS_CC); @@ -2587,7 +2587,7 @@ PHPAPI int _php_stream_path_encode(php_stream_wrapper *wrapper, int scheme_len = 0; /* Convert just the scheme using utf8 in order to look it up in the registry */ - num_conv = zend_convert_from_unicode(UG(utf8_conv), &scheme, &scheme_len, path, (p - path) + delim_len, &status); + num_conv = zend_unicode_to_string_ex(UG(utf8_conv), &scheme, &scheme_len, path, (p - path) + delim_len, &status); if (U_FAILURE(status)) { if (options & REPORT_ERRORS) { zend_raise_conversion_error_ex("Unable to convert filepath", UG(utf8_conv), ZEND_FROM_UNICODE, num_conv TSRMLS_CC); @@ -2624,7 +2624,7 @@ PHPAPI int _php_stream_path_encode(php_stream_wrapper *wrapper, /* Otherwise, fallback on filesystem_encoding */ status = U_ZERO_ERROR; - num_conv = zend_convert_from_unicode(ZEND_U_CONVERTER(UG(filesystem_encoding_conv)), + num_conv = zend_unicode_to_string_ex(ZEND_U_CONVERTER(UG(filesystem_encoding_conv)), pathenc, pathenc_len, path, path_len, &status); if (U_FAILURE(status)) { if (options & REPORT_ERRORS) { @@ -2666,7 +2666,7 @@ PHPAPI int _php_stream_path_decode(php_stream_wrapper *wrapper, } /* Otherwise fallback on filesystem_encoding */ - num_conv = zend_convert_to_unicode(ZEND_U_CONVERTER(UG(filesystem_encoding_conv)), + num_conv = zend_string_to_unicode_ex(ZEND_U_CONVERTER(UG(filesystem_encoding_conv)), pathdec, pathdec_len, path, path_len, &status); if (U_FAILURE(status)) { if (options & REPORT_ERRORS) { diff --git a/sapi/cli/php_cli_readline.c b/sapi/cli/php_cli_readline.c index 23729d58e6..f08081d0af 100644 --- a/sapi/cli/php_cli_readline.c +++ b/sapi/cli/php_cli_readline.c @@ -312,7 +312,7 @@ static char *cli_completion_generator_var(const char *text, int textlen, int *st UErrorCode status = U_ZERO_ERROR; len = u_strlen((UChar *)retval); - zend_convert_from_unicode(ZEND_U_CONVERTER(UG(output_encoding_conv)), &tmp, &tmp_len, + zend_unicode_to_string_ex(ZEND_U_CONVERTER(UG(output_encoding_conv)), &tmp, &tmp_len, (UChar *)retval, len, &status); retval = malloc(tmp_len + 2); @@ -345,7 +345,7 @@ static char *cli_completion_generator_func(const char *text, int textlen, int *s UErrorCode status = U_ZERO_ERROR; len = u_strlen((UChar *)func->common.function_name.u); - zend_convert_from_unicode(ZEND_U_CONVERTER(UG(output_encoding_conv)), &tmp, &tmp_len, + zend_unicode_to_string_ex(ZEND_U_CONVERTER(UG(output_encoding_conv)), &tmp, &tmp_len, (UChar *)func->common.function_name.u, len, &status); retval = strdup(tmp); @@ -371,7 +371,7 @@ static char *cli_completion_generator_class(const char *text, int textlen, int * UErrorCode status = U_ZERO_ERROR; len = u_strlen((UChar *)(*pce)->name.u); - zend_convert_from_unicode(ZEND_U_CONVERTER(UG(output_encoding_conv)), &tmp, &tmp_len, + zend_unicode_to_string_ex(ZEND_U_CONVERTER(UG(output_encoding_conv)), &tmp, &tmp_len, (UChar *)(*pce)->name.u, len, &status); retval = strdup(tmp); @@ -397,7 +397,7 @@ static char *cli_completion_generator_define(const char *text, int textlen, int UErrorCode status = U_ZERO_ERROR; len = u_strlen((UChar *)retval); - zend_convert_from_unicode(ZEND_U_CONVERTER(UG(output_encoding_conv)), &tmp, &tmp_len, + zend_unicode_to_string_ex(ZEND_U_CONVERTER(UG(output_encoding_conv)), &tmp, &tmp_len, (UChar *)retval, len, &status); retval = strdup(tmp);