? .gdb_history ? config.my ? cscope.out ? php.ini ? ext/oci8.u Index: Zend/zend.c =================================================================== RCS file: /repository/ZendEngine2/zend.c,v retrieving revision 1.368 diff -u -p -d -r1.368 zend.c --- Zend/zend.c 24 Jul 2006 17:51:40 -0000 1.368 +++ Zend/zend.c 7 Aug 2006 19:46:41 -0000 @@ -611,7 +611,7 @@ static int zend_path_encode_wrapper(char { UErrorCode status = U_ZERO_ERROR; - zend_convert_from_unicode(ZEND_U_CONVERTER(UG(filesystem_encoding_conv)), encpath, encpath_len, path, path_len, &status); + zend_unicode_to_string_ex(ZEND_U_CONVERTER(UG(filesystem_encoding_conv)), encpath, encpath_len, path, path_len, &status); if (U_FAILURE(status)) { efree(*encpath); Index: Zend/zend_API.h =================================================================== RCS file: /repository/ZendEngine2/zend_API.h,v retrieving revision 1.253 diff -u -p -d -r1.253 zend_API.h --- Zend/zend_API.h 4 Aug 2006 21:05:59 -0000 1.253 +++ Zend/zend_API.h 7 Aug 2006 19:46:41 -0000 @@ -382,7 +382,7 @@ ZEND_API int add_assoc_zval_ex(zval *arg UChar *u_str; \ int u_len; \ int length = strlen(str); \ - zend_convert_to_unicode(ZEND_U_CONVERTER(UG(runtime_encoding_conv)), &u_str, &u_len, str, length, &status); \ + zend_string_to_unicode_ex(ZEND_U_CONVERTER(UG(runtime_encoding_conv)), &u_str, &u_len, str, length, &status); \ if ((flags) & ZSTR_AUTOFREE) { \ efree(str); \ } \ @@ -396,7 +396,7 @@ ZEND_API int add_assoc_zval_ex(zval *arg UErrorCode status = U_ZERO_ERROR; \ UChar *u_str; \ int u_len; \ - zend_convert_to_unicode(ZEND_U_CONVERTER(UG(runtime_encoding_conv)), &u_str, &u_len, str, length, &status); \ + zend_string_to_unicode_ex(ZEND_U_CONVERTER(UG(runtime_encoding_conv)), &u_str, &u_len, str, length, &status); \ if ((flags) & ZSTR_AUTOFREE) { \ efree(str); \ } \ @@ -587,7 +587,7 @@ ZEND_API int add_next_index_zval(zval *a UChar *u_str; \ int u_len; \ int length = strlen(str); \ - zend_convert_to_unicode(ZEND_U_CONVERTER(UG(runtime_encoding_conv)), &u_str, &u_len, str, length, &status); \ + zend_string_to_unicode_ex(ZEND_U_CONVERTER(UG(runtime_encoding_conv)), &u_str, &u_len, str, length, &status); \ if ((flags) & ZSTR_AUTOFREE) { \ efree(str); \ } \ @@ -601,7 +601,7 @@ ZEND_API int add_next_index_zval(zval *a UErrorCode status = U_ZERO_ERROR; \ UChar *u_str; \ int u_len; \ - zend_convert_to_unicode(ZEND_U_CONVERTER(UG(runtime_encoding_conv)), &u_str, &u_len, str, length, &status); \ + zend_string_to_unicode_ex(ZEND_U_CONVERTER(UG(runtime_encoding_conv)), &u_str, &u_len, str, length, &status); \ if ((flags) & ZSTR_AUTOFREE) { \ efree(str); \ } \ @@ -806,7 +806,7 @@ END_EXTERN_C() UChar *u_str; \ int u_len; \ uint length = strlen(s); \ - zend_convert_to_unicode(conv, &u_str, &u_len, s, length, &status); \ + zend_string_to_unicode_ex(conv, &u_str, &u_len, s, length, &status); \ if ((flags) & ZSTR_AUTOFREE) { \ efree(s); \ } \ @@ -823,7 +823,7 @@ END_EXTERN_C() UErrorCode status = U_ZERO_ERROR; \ UChar *u_str; \ int u_len; \ - zend_convert_to_unicode(conv, &u_str, &u_len, s, l, &status); \ + zend_string_to_unicode_ex(conv, &u_str, &u_len, s, l, &status); \ if ((flags) & ZSTR_AUTOFREE) { \ efree(s); \ } \ Index: Zend/zend_exceptions.c =================================================================== RCS file: /repository/ZendEngine2/zend_exceptions.c,v retrieving revision 1.109 diff -u -p -d -r1.109 zend_exceptions.c --- Zend/zend_exceptions.c 21 Jul 2006 08:39:43 -0000 1.109 +++ Zend/zend_exceptions.c 7 Aug 2006 19:46:41 -0000 @@ -145,7 +145,7 @@ ZEND_METHOD(exception, __construct) UChar *u_str; int u_len; - zend_convert_to_unicode(ZEND_U_CONVERTER(UG(runtime_encoding_conv)), &u_str, &u_len, message, message_len, &status); + zend_string_to_unicode_ex(ZEND_U_CONVERTER(UG(runtime_encoding_conv)), &u_str, &u_len, message, message_len, &status); zend_update_property_unicodel(default_exception_ce, object, "message", sizeof("message")-1, u_str, u_len TSRMLS_CC); efree(u_str); } else { @@ -184,7 +184,7 @@ ZEND_METHOD(error_exception, __construct UChar *u_str; int u_len; - zend_convert_to_unicode(ZEND_U_CONVERTER(UG(runtime_encoding_conv)), &u_str, &u_len, message, message_len, &status); + zend_string_to_unicode_ex(ZEND_U_CONVERTER(UG(runtime_encoding_conv)), &u_str, &u_len, message, message_len, &status); zend_update_property_unicodel(default_exception_ce, object, "message", sizeof("message")-1, u_str, u_len TSRMLS_CC); efree(u_str); } else { Index: Zend/zend_hash.c =================================================================== RCS file: /repository/ZendEngine2/zend_hash.c,v retrieving revision 1.135 diff -u -p -d -r1.135 zend_hash.c --- Zend/zend_hash.c 7 Apr 2006 10:05:17 -0000 1.135 +++ Zend/zend_hash.c 7 Aug 2006 19:46:41 -0000 @@ -53,7 +53,7 @@ UChar *u = NULL; \ int u_len; \ TSRMLS_FETCH(); \ - zend_convert_to_unicode(ZEND_U_CONVERTER(UG(runtime_encoding_conv)), &u, &u_len, arKey.s, nKeyLength-1, &status); \ + zend_string_to_unicode_ex(ZEND_U_CONVERTER(UG(runtime_encoding_conv)), &u, &u_len, arKey.s, nKeyLength-1, &status); \ if (U_FAILURE(status)) { \ /* UTODO: */ \ } \ @@ -1747,7 +1747,7 @@ ZEND_API void zend_hash_to_unicode(HashT int u_len; Bucket *q; - zend_convert_to_unicode(ZEND_U_CONVERTER(UG(runtime_encoding_conv)), &u, &u_len, (*p)->key.arKey.s, (*p)->nKeyLength-1, &status); + zend_string_to_unicode_ex(ZEND_U_CONVERTER(UG(runtime_encoding_conv)), &u, &u_len, (*p)->key.arKey.s, (*p)->nKeyLength-1, &status); q = (Bucket *) pemalloc(sizeof(Bucket)-sizeof(q->key.arKey)+((u_len+1)*2), ht->persistent); memcpy(q, *p, sizeof(Bucket)-sizeof(q->key.arKey)); Index: Zend/zend_language_scanner.l =================================================================== RCS file: /repository/ZendEngine2/zend_language_scanner.l,v retrieving revision 1.156 diff -u -p -d -r1.156 zend_language_scanner.l --- Zend/zend_language_scanner.l 18 Jul 2006 17:52:44 -0000 1.156 +++ Zend/zend_language_scanner.l 7 Aug 2006 19:46:41 -0000 @@ -631,7 +631,7 @@ ZEND_API int zend_convert_scanner_output /* reset the error and perform conversion */ *status = U_ZERO_ERROR; - zend_convert_to_unicode(conv, target, target_len, source, source_len, status); + zend_string_to_unicode_ex(conv, target, target_len, source, source_len, status); /* figure out how many source bytes were consumed */ if (U_SUCCESS(*status)) { Index: Zend/zend_unicode.c =================================================================== RCS file: /repository/ZendEngine2/zend_unicode.c,v retrieving revision 1.27 diff -u -p -d -r1.27 zend_unicode.c --- Zend/zend_unicode.c 1 Aug 2006 21:49:57 -0000 1.27 +++ Zend/zend_unicode.c 7 Aug 2006 19:46:41 -0000 @@ -209,8 +209,8 @@ int zend_copy_converter(UConverter **tar } /* }}} */ -/* {{{ zend_convert_to_unicode */ -ZEND_API int zend_convert_to_unicode(UConverter *conv, UChar **target, int *target_len, const char *source, int source_len, UErrorCode *status) +/* {{{ zend_string_to_unicode_ex */ +ZEND_API int zend_string_to_unicode_ex(UConverter *conv, UChar **target, int *target_len, const char *source, int source_len, UErrorCode *status) { UChar *buffer = NULL; UChar *output; @@ -281,8 +281,8 @@ ZEND_API int zend_convert_to_unicode(UCo } /* }}} */ -/* {{{ zend_convert_from_unicode */ -ZEND_API int zend_convert_from_unicode(UConverter *conv, char **target, int *target_len, const UChar *source, int source_len, UErrorCode *status) +/* {{{ zend_unicode_to_string_ex */ +ZEND_API int zend_unicode_to_string_ex(UConverter *conv, char **target, int *target_len, const UChar *source, int source_len, UErrorCode *status) { char *buffer = NULL; char *output; @@ -380,12 +380,11 @@ ZEND_API char* zend_unicode_to_ascii(con int cs_len; UErrorCode status = U_ZERO_ERROR; - zend_convert_from_unicode(UG(ascii_conv), &cs, &cs_len, us, us_len, &status); + zend_unicode_to_string_ex(UG(ascii_conv), &cs, &cs_len, us, us_len, &status); if (U_FAILURE(status)) { efree(cs); return NULL; } - return cs; } /* }}} */ @@ -537,31 +536,48 @@ ZEND_API void zend_raise_conversion_erro } /* }}} */ -/* {{{ zval_unicode_to_string_ex */ -ZEND_API int zval_unicode_to_string_ex(zval *string, UConverter *conv TSRMLS_DC) +/* {{{ zend_unicode_to_string */ +ZEND_API int zend_unicode_to_string(UConverter *conv, char **s, int *s_len, const UChar *u, int u_len TSRMLS_DC) { UErrorCode status = U_ZERO_ERROR; - char *s = NULL; - int s_len; int num_conv; - UChar *u = Z_USTRVAL_P(string); - int u_len = Z_USTRLEN_P(string); + if (conv == NULL) { + conv = UG(runtime_encoding_conv); + } - num_conv = zend_convert_from_unicode(conv, &s, &s_len, u, u_len, &status); + num_conv = zend_unicode_to_string_ex(conv, s, s_len, u, u_len, &status); if (U_FAILURE(status)) { int32_t offset = u_countChar32(u, num_conv); zend_raise_conversion_error_ex("Could not convert Unicode string to binary string", conv, ZEND_FROM_UNICODE, offset TSRMLS_CC); - if (s) { - efree(s); + if (*s) { + efree(*s); } - ZVAL_EMPTY_STRING(string); + *s = NULL; + *s_len = 0; + return FAILURE; + } + return SUCCESS; +} +/* }}} */ + +/* {{{ zval_unicode_to_string_ex */ +ZEND_API int zval_unicode_to_string_ex(zval *string, UConverter *conv TSRMLS_DC) +{ + char *s = NULL; + int s_len; + + UChar *u = Z_USTRVAL_P(string); + int u_len = Z_USTRLEN_P(string); + + if (zend_unicode_to_string(conv, &s, &s_len, u, u_len TSRMLS_CC) == SUCCESS) { + ZVAL_STRINGL(string, s, s_len, 0); efree((UChar*)u); return FAILURE; } else { - ZVAL_STRINGL(string, s, s_len, 0); + ZVAL_EMPTY_STRING(string); efree((UChar*)u); return SUCCESS; } @@ -575,30 +591,48 @@ ZEND_API int zval_unicode_to_string(zval } /* }}} */ -/* {{{ zval_string_to_unicode_ex */ -ZEND_API int zval_string_to_unicode_ex(zval *string, UConverter *conv TSRMLS_DC) +/* {{{ zend_string_to_unicode */ +ZEND_API int zend_string_to_unicode(UConverter *conv, UChar **u, int *u_len, char *s, int s_len TSRMLS_DC) { UErrorCode status = U_ZERO_ERROR; - UChar *u = NULL; - int u_len, num_conv; + int num_conv; - char *s = Z_STRVAL_P(string); - int s_len = Z_STRLEN_P(string); + if (conv == NULL) { + conv = UG(runtime_encoding_conv); + } - num_conv = zend_convert_to_unicode(conv, &u, &u_len, s, s_len, &status); + num_conv = zend_string_to_unicode_ex(conv, u, u_len, s, s_len, &status); if (U_FAILURE(status)) { zend_raise_conversion_error_ex("Could not convert binary string to Unicode string", conv, ZEND_TO_UNICODE, num_conv TSRMLS_CC); - if (u) { - efree(u); + if (*u) { + efree(*u); } - ZVAL_EMPTY_UNICODE(string); - efree(s); + *u = NULL; + *u_len = 0; return FAILURE; - } else { + } + return SUCCESS; +} +/* }}} */ + +/* {{{ zval_string_to_unicode_ex */ +ZEND_API int zval_string_to_unicode_ex(zval *string, UConverter *conv TSRMLS_DC) +{ + UChar *u = NULL; + int u_len; + + char *s = Z_STRVAL_P(string); + int s_len = Z_STRLEN_P(string); + + if (zend_string_to_unicode(conv, &u, &u_len, s, s_len TSRMLS_CC) == SUCCESS) { ZVAL_UNICODEL(string, u, u_len, 0); efree(s); return SUCCESS; + } else { + ZVAL_EMPTY_UNICODE(string); + efree(s); + return FAILURE; } } /* }}} */ @@ -613,16 +647,13 @@ ZEND_API int zval_string_to_unicode(zval /* {{{ zend_cmp_unicode_and_string */ ZEND_API int zend_cmp_unicode_and_string(UChar *ustr, char* str, uint len) { - UErrorCode status = U_ZERO_ERROR; UChar *u = NULL; int u_len; int retval = TRUE; TSRMLS_FETCH(); - zend_convert_to_unicode(ZEND_U_CONVERTER(UG(runtime_encoding_conv)), &u, &u_len, str, len, &status); - if (U_FAILURE(status)) { - efree(u); - return FALSE; + if (zend_string_to_unicode(NULL, &u, &u_len, str, len TSRMLS_CC) == FAILURE) { + return FAILURE; } retval = u_memcmp(ustr, u, u_len); efree(u); Index: Zend/zend_unicode.h =================================================================== RCS file: /repository/ZendEngine2/zend_unicode.h,v retrieving revision 1.20 diff -u -p -d -r1.20 zend_unicode.h --- Zend/zend_unicode.h 14 Jul 2006 10:31:32 -0000 1.20 +++ Zend/zend_unicode.h 7 Aug 2006 19:46:41 -0000 @@ -71,11 +71,14 @@ void zend_collator_destroy(zend_collator /* API functions */ -ZEND_API int zend_convert_to_unicode(UConverter *conv, UChar **target, int *target_len, const char *source, int source_len, UErrorCode *status); -ZEND_API int zend_convert_from_unicode(UConverter *conv, char **target, int *target_len, const UChar *source, int source_len, UErrorCode *status); ZEND_API void zend_convert_encodings(UConverter *target_conv, UConverter *source_conv, char **target, int *target_len, const char *source, int source_len, UErrorCode *status); ZEND_API char* zend_unicode_to_ascii(const UChar *us, int us_len TSRMLS_DC); +ZEND_API int zend_string_to_unicode_ex(UConverter *conv, UChar **target, int *target_len, const char *source, int source_len, UErrorCode *status); +ZEND_API int zend_string_to_unicode(UConverter *conv, UChar **u, int *u_len, char *s, int s_len TSRMLS_DC); +ZEND_API int zend_unicode_to_string_ex(UConverter *conv, char **s, int *s_len, const UChar *u, int u_len, UErrorCode *status); +ZEND_API int zend_unicode_to_string(UConverter *conv, char **s, int *s_len, const UChar *u, int u_len TSRMLS_DC); + ZEND_API int zval_string_to_unicode_ex(zval *string, UConverter *conv TSRMLS_DC); ZEND_API int zval_string_to_unicode(zval *string TSRMLS_DC); ZEND_API int zval_unicode_to_string_ex(zval *string, UConverter *conv TSRMLS_DC); Index: ext/dom/node.c =================================================================== RCS file: /repository/php-src/ext/dom/node.c,v retrieving revision 1.47 diff -u -p -d -r1.47 node.c --- ext/dom/node.c 4 Aug 2006 18:11:27 -0000 1.47 +++ ext/dom/node.c 7 Aug 2006 19:46:42 -0000 @@ -1785,7 +1785,7 @@ static void dom_canonicalization(INTERNA 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(INTERNA 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(INTERNA 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(INTERNA 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)); Index: ext/pdo/pdo_stmt.c =================================================================== RCS file: /repository/php-src/ext/pdo/pdo_stmt.c,v retrieving revision 1.163 diff -u -p -d -r1.163 pdo_stmt.c --- ext/pdo/pdo_stmt.c 1 Aug 2006 15:06:12 -0000 1.163 +++ ext/pdo/pdo_stmt.c 7 Aug 2006 19:46:42 -0000 @@ -514,7 +514,7 @@ static inline void fetch_value(pdo_stmt_ 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); Index: ext/simplexml/simplexml.c =================================================================== RCS file: /repository/php-src/ext/simplexml/simplexml.c,v retrieving revision 1.214 diff -u -p -d -r1.214 simplexml.c --- ext/simplexml/simplexml.c 7 Aug 2006 10:11:04 -0000 1.214 +++ ext/simplexml/simplexml.c 7 Aug 2006 19:46:42 -0000 @@ -2080,7 +2080,7 @@ static int php_sxe_iterator_current_key( 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 { Index: ext/soap/php_encoding.c =================================================================== RCS file: /repository/php-src/ext/soap/php_encoding.c,v retrieving revision 1.140 diff -u -p -d -r1.140 php_encoding.c --- ext/soap/php_encoding.c 1 Aug 2006 16:10:25 -0000 1.140 +++ ext/soap/php_encoding.c 7 Aug 2006 19:46:43 -0000 @@ -3170,7 +3170,7 @@ static encodePtr get_array_type(xmlNodeP 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(xmlNodeP 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++; Index: ext/soap/php_http.c =================================================================== RCS file: /repository/php-src/ext/soap/php_http.c,v retrieving revision 1.95 diff -u -p -d -r1.95 php_http.c --- ext/soap/php_http.c 1 Aug 2006 16:10:25 -0000 1.95 +++ ext/soap/php_http.c 7 Aug 2006 19:46:43 -0000 @@ -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); } Index: ext/soap/soap.c =================================================================== RCS file: /repository/php-src/ext/soap/soap.c,v retrieving revision 1.203 diff -u -p -d -r1.203 soap.c --- ext/soap/soap.c 4 Aug 2006 13:40:12 -0000 1.203 +++ ext/soap/soap.c 7 Aug 2006 19:46:44 -0000 @@ -308,7 +308,7 @@ char* soap_unicode_to_string(UChar *ustr 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; } Index: ext/sqlite/sqlite.c =================================================================== RCS file: /repository/php-src/ext/sqlite/sqlite.c,v retrieving revision 1.194 diff -u -p -d -r1.194 sqlite.c --- ext/sqlite/sqlite.c 14 Jun 2006 16:04:47 -0000 1.194 +++ ext/sqlite/sqlite.c 7 Aug 2006 19:46:44 -0000 @@ -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(struc 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(stru 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(stru 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); } Index: ext/standard/array.c =================================================================== RCS file: /repository/php-src/ext/standard/array.c,v retrieving revision 1.380 diff -u -p -d -r1.380 array.c --- ext/standard/array.c 3 Aug 2006 23:09:29 -0000 1.380 +++ ext/standard/array.c 7 Aug 2006 19:46:44 -0000 @@ -1277,7 +1277,7 @@ static int php_extract_prefix_varname(zv 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(zv 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); Index: ext/standard/streamsfuncs.c =================================================================== RCS file: /repository/php-src/ext/standard/streamsfuncs.c,v retrieving revision 1.81 diff -u -p -d -r1.81 streamsfuncs.c --- ext/standard/streamsfuncs.c 14 Jul 2006 20:45:37 -0000 1.81 +++ ext/standard/streamsfuncs.c 7 Aug 2006 19:46:45 -0000 @@ -870,7 +870,7 @@ static int parse_context_options(php_str 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_str 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); Index: ext/standard/var.c =================================================================== RCS file: /repository/php-src/ext/standard/var.c,v retrieving revision 1.243 diff -u -p -d -r1.243 var.c --- ext/standard/var.c 25 Jul 2006 16:40:11 -0000 1.243 +++ ext/standard/var.c 7 Aug 2006 19:46:45 -0000 @@ -56,7 +56,7 @@ static void php_var_dump_unicode(UChar * 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); Index: ext/unicode/unicode.c =================================================================== RCS file: /repository/php-src/ext/unicode/unicode.c,v retrieving revision 1.39 diff -u -p -d -r1.39 unicode.c --- ext/unicode/unicode.c 28 Jun 2006 14:12:14 -0000 1.39 +++ ext/unicode/unicode.c 7 Aug 2006 19:46:45 -0000 @@ -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); Index: main/output.c =================================================================== RCS file: /repository/php-src/main/output.c,v retrieving revision 1.183 diff -u -p -d -r1.183 output.c --- main/output.c 12 Jun 2006 18:18:39 -0000 1.183 +++ main/output.c 7 Aug 2006 19:46:45 -0000 @@ -243,7 +243,7 @@ PHPAPI int php_output_write_unicode(cons 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); } Index: main/php_variables.c =================================================================== RCS file: /repository/php-src/main/php_variables.c,v retrieving revision 1.128 diff -u -p -d -r1.128 php_variables.c --- main/php_variables.c 27 Jul 2006 17:14:24 -0000 1.128 +++ main/php_variables.c 7 Aug 2006 19:46:45 -0000 @@ -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_defaul 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_defaul 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); Index: main/rfc1867.c =================================================================== RCS file: /repository/php-src/main/rfc1867.c,v retrieving revision 1.187 diff -u -p -d -r1.187 rfc1867.c --- main/rfc1867.c 27 Jul 2006 17:14:24 -0000 1.187 +++ main/rfc1867.c 7 Aug 2006 19:46:45 -0000 @@ -365,7 +365,7 @@ static inline UChar *php_ap_to_unicode(c } 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_po 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; Index: main/spprintf.c =================================================================== RCS file: /repository/php-src/main/spprintf.c,v retrieving revision 1.36 diff -u -p -d -r1.36 spprintf.c --- main/spprintf.c 2 Mar 2006 13:12:45 -0000 1.36 +++ main/spprintf.c 7 Aug 2006 19:46:46 -0000 @@ -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; Index: main/streams/filter.c =================================================================== RCS file: /repository/php-src/main/streams/filter.c,v retrieving revision 1.33 diff -u -p -d -r1.33 filter.c --- main/streams/filter.c 21 Jun 2006 20:17:21 -0000 1.33 +++ main/streams/filter.c 7 Aug 2006 19:46:46 -0000 @@ -727,13 +727,13 @@ PHPAPI int _php_stream_bucket_convert(ph 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(ph 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); Index: main/streams/streams.c =================================================================== RCS file: /repository/php-src/main/streams/streams.c,v retrieving revision 1.129 diff -u -p -d -r1.129 streams.c --- main/streams/streams.c 14 Jul 2006 19:14:40 -0000 1.129 +++ main/streams/streams.c 7 Aug 2006 19:46:46 -0000 @@ -1219,7 +1219,7 @@ static size_t _php_stream_write_buffer(p 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_s 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_s /* 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_s } /* 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) { Index: sapi/cli/php_cli_readline.c =================================================================== RCS file: /repository/php-src/sapi/cli/php_cli_readline.c,v retrieving revision 1.10 diff -u -p -d -r1.10 php_cli_readline.c --- sapi/cli/php_cli_readline.c 1 Mar 2006 16:27:47 -0000 1.10 +++ sapi/cli/php_cli_readline.c 7 Aug 2006 19:46:46 -0000 @@ -312,7 +312,7 @@ static char *cli_completion_generator_va 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_fu 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_cl 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_de 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);