Index: Zend/zend.c =================================================================== RCS file: /repository/ZendEngine2/zend.c,v retrieving revision 1.416 diff -u -p -r1.416 zend.c --- Zend/zend.c 19 May 2008 19:39:25 -0000 1.416 +++ Zend/zend.c 20 May 2008 15:00:14 -0000 @@ -1004,19 +1004,29 @@ static void unicode_globals_dtor(zend_un if (unicode_globals->root_search) { usearch_close(unicode_globals->root_search); } - if (unicode_globals->fallback_encoding_conv) { + if (unicode_globals->fallback_encoding_conv && + unicode_globals->fallback_encoding_conv != unicode_globals->utf8_conv && + unicode_globals->fallback_encoding_conv != unicode_globals->ascii_conv) { ucnv_close(unicode_globals->fallback_encoding_conv); } - if (unicode_globals->runtime_encoding_conv) { + if (unicode_globals->runtime_encoding_conv && + unicode_globals->runtime_encoding_conv != unicode_globals->utf8_conv && + unicode_globals->runtime_encoding_conv != unicode_globals->ascii_conv) { ucnv_close(unicode_globals->runtime_encoding_conv); } - if (unicode_globals->output_encoding_conv) { + if (unicode_globals->output_encoding_conv && + unicode_globals->output_encoding_conv != unicode_globals->utf8_conv && + unicode_globals->output_encoding_conv != unicode_globals->ascii_conv) { ucnv_close(unicode_globals->output_encoding_conv); } - if (unicode_globals->script_encoding_conv) { + if (unicode_globals->script_encoding_conv && + unicode_globals->script_encoding_conv != unicode_globals->utf8_conv && + unicode_globals->script_encoding_conv != unicode_globals->ascii_conv) { ucnv_close(unicode_globals->script_encoding_conv); } - if (unicode_globals->http_input_encoding_conv) { + if (unicode_globals->http_input_encoding_conv && + unicode_globals->http_input_encoding_conv != unicode_globals->utf8_conv && + unicode_globals->http_input_encoding_conv != unicode_globals->ascii_conv) { ucnv_close(unicode_globals->http_input_encoding_conv); } if (unicode_globals->utf8_conv) {