andrei Wed Jul 12 17:23:53 2006 UTC Modified files: /php-src/ext/standard var.c Log: Use zend_convert_from_unicode() in var_dump(). http://cvs.php.net/viewvc.cgi/php-src/ext/standard/var.c?r1=1.235&r2=1.236&diff_format=u Index: php-src/ext/standard/var.c diff -u php-src/ext/standard/var.c:1.235 php-src/ext/standard/var.c:1.236 --- php-src/ext/standard/var.c:1.235 Mon Jul 10 14:02:54 2006 +++ php-src/ext/standard/var.c Wed Jul 12 17:23:53 2006 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: var.c,v 1.235 2006/07/10 14:02:54 dmitry Exp $ */ +/* $Id: var.c,v 1.236 2006/07/12 17:23:53 andrei Exp $ */ @@ -45,9 +45,9 @@ static void php_var_dump_unicode(UChar *ustr, int length, int verbose, char *quote, int escape TSRMLS_DC) { UChar32 c; - int32_t i; + int i; UErrorCode status = U_ZERO_ERROR; - int32_t clen; + int clen; char *out = NULL; if (length == 0) { @@ -56,16 +56,8 @@ return; } - clen = length * ucnv_getMaxCharSize(ZEND_U_CONVERTER(UG(output_encoding_conv))) + 1; - while (1) { - status = U_ZERO_ERROR; - out = erealloc(out, clen+1); - clen = ucnv_fromUChars(ZEND_U_CONVERTER(UG(output_encoding_conv)), out, clen+1, ustr, length, &status); - if (status != U_BUFFER_OVERFLOW_ERROR) { - break; - } - } - if(U_FAILURE(status) || status==U_STRING_NOT_TERMINATED_WARNING) { + zend_convert_from_unicode(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); return;
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php