Index: ext/iconv/iconv.c =================================================================== RCS file: /repository/php-src/ext/iconv/iconv.c,v retrieving revision 1.125 diff -u -p -d -r1.125 iconv.c --- ext/iconv/iconv.c 11 Aug 2005 23:35:53 -0000 1.125 +++ ext/iconv/iconv.c 7 Sep 2005 21:25:12 -0000 @@ -213,11 +213,32 @@ PHP_MINFO_FUNCTION(miconv) { zval iconv_impl, iconv_ver; - zend_get_constant("ICONV_IMPL", sizeof("ICONV_IMPL")-1, &iconv_impl TSRMLS_CC); - zend_get_constant("ICONV_VERSION", sizeof("ICONV_VERSION")-1, &iconv_ver TSRMLS_CC); - php_info_print_table_start(); php_info_print_table_row(2, "iconv support", "enabled"); + + if (UG(unicode)) { + UChar *u_constant_name = NULL; + UErrorCode status = U_ZERO_ERROR; + int32_t u_len; + + zend_convert_to_unicode(ZEND_U_CONVERTER(UG(runtime_encoding_conv)), &u_constant_name, &u_len, "ICONV_IMPL", sizeof("ICONV_IMPL"), &status); + + zend_get_constant((char *)u_constant_name, u_len-1, &iconv_impl TSRMLS_CC); + efree(u_constant_name); + u_constant_name = NULL; + + zend_convert_to_unicode(ZEND_U_CONVERTER(UG(runtime_encoding_conv)), &u_constant_name, &u_len, "ICONV_VERSION", sizeof("ICONV_VERSION"), &status); + zend_get_constant((char *)u_constant_name, u_len-1, &iconv_ver TSRMLS_CC); + efree(u_constant_name); + + convert_to_string(&iconv_impl); + convert_to_string(&iconv_ver); + } + else { + zend_get_constant("ICONV_IMPL", sizeof("ICONV_IMPL")-1, &iconv_impl TSRMLS_CC); + zend_get_constant("ICONV_VERSION", sizeof("ICONV_VERSION")-1, &iconv_ver TSRMLS_CC); + } + php_info_print_table_row(2, "iconv implementation", Z_STRVAL(iconv_impl)); php_info_print_table_row(2, "iconv library version", Z_STRVAL(iconv_ver)); php_info_print_table_end();