summaryrefslogtreecommitdiff
path: root/ext/mbstring/mbstring.c
diff options
context:
space:
mode:
authorRui Hirokawa <hirokawa@php.net>2002-04-30 12:00:42 +0000
committerRui Hirokawa <hirokawa@php.net>2002-04-30 12:00:42 +0000
commit5df01432c747980d115e77f51e9e250f0761c9e2 (patch)
tree76c082fb6d130f8100530e75b7253378cd65cf2e /ext/mbstring/mbstring.c
parent18805e8323c351de5c02a00616ecfabce62afdcd (diff)
downloadphp-git-5df01432c747980d115e77f51e9e250f0761c9e2.tar.gz
added simplified chinese, traditional chinese, korean support to mbstring. Note that this feature is experimental.
Diffstat (limited to 'ext/mbstring/mbstring.c')
-rw-r--r--ext/mbstring/mbstring.c66
1 files changed, 64 insertions, 2 deletions
diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c
index 55e3d3c1a1..40d16522d2 100644
--- a/ext/mbstring/mbstring.c
+++ b/ext/mbstring/mbstring.c
@@ -71,6 +71,7 @@
#include "mbregex.h"
#endif
+#if defined(HAVE_MBSTR_JA)
static const enum mbfl_no_encoding php_mbstr_default_identify_list[] = {
mbfl_no_encoding_ascii,
mbfl_no_encoding_jis,
@@ -78,6 +79,35 @@ static const enum mbfl_no_encoding php_mbstr_default_identify_list[] = {
mbfl_no_encoding_euc_jp,
mbfl_no_encoding_sjis
};
+#endif
+
+
+#if defined(HAVE_MBSTR_CN) & !defined(HAVE_MBSTR_JA)
+static const enum mbfl_no_encoding php_mbstr_default_identify_list[] = {
+ mbfl_no_encoding_ascii,
+ mbfl_no_encoding_utf8,
+ mbfl_no_encoding_euc_cn,
+ mbfl_no_encoding_cp936
+};
+#endif
+
+#if defined(HAVE_MBSTR_TW) & !defined(HAVE_MBSTR_JA)
+static const enum mbfl_no_encoding php_mbstr_default_identify_list[] = {
+ mbfl_no_encoding_ascii,
+ mbfl_no_encoding_utf8,
+ mbfl_no_encoding_euc_tw,
+ mbfl_no_encoding_big5
+};
+#endif
+
+#if defined(HAVE_MBSTR_KR) & !defined(HAVE_MBSTR_JA)
+static const enum mbfl_no_encoding php_mbstr_default_identify_list[] = {
+ mbfl_no_encoding_ascii,
+ mbfl_no_encoding_utf8,
+ mbfl_no_encoding_euc_kr,
+ mbfl_no_encoding_uhc
+};
+#endif
static const int php_mbstr_default_identify_list_size = sizeof(php_mbstr_default_identify_list)/sizeof(enum mbfl_no_encoding);
@@ -525,10 +555,30 @@ PHP_INI_END()
static void
php_mbstring_init_globals(zend_mbstring_globals *pglobals TSRMLS_DC)
{
+#if defined(HAVE_MBSTR_CN) & !defined(HAVE_MBSTR_JA)
+ MBSTRG(language) = mbfl_no_language_chinese;
+ MBSTRG(current_language) = mbfl_no_language_chinese;
+ MBSTRG(internal_encoding) = mbfl_no_encoding_euc_cn;
+ MBSTRG(current_internal_encoding) = mbfl_no_encoding_euc_cn;
+#endif
+#if defined(HAVE_MBSTR_TW) & !defined(HAVE_MBSTR_JA)
+ MBSTRG(language) = mbfl_no_language_chinese;
+ MBSTRG(current_language) = mbfl_no_language_chinese;
+ MBSTRG(internal_encoding) = mbfl_no_encoding_euc_tw;
+ MBSTRG(current_internal_encoding) = mbfl_no_encoding_euc_tw;
+#endif
+#if defined(HAVE_MBSTR_KR) & !defined(HAVE_MBSTR_JA)
+ MBSTRG(language) = mbfl_no_language_chinese;
+ MBSTRG(current_language) = mbfl_no_language_korean;
+ MBSTRG(internal_encoding) = mbfl_no_encoding_euc_kr;
+ MBSTRG(current_internal_encoding) = mbfl_no_encoding_euc_kr;
+#endif
+#if defined(HAVE_MBSTR_JA)
MBSTRG(language) = mbfl_no_language_japanese;
MBSTRG(current_language) = mbfl_no_language_japanese;
MBSTRG(internal_encoding) = mbfl_no_encoding_euc_jp;
MBSTRG(current_internal_encoding) = mbfl_no_encoding_euc_jp;
+#endif
MBSTRG(http_output_encoding) = mbfl_no_encoding_pass;
MBSTRG(current_http_output_encoding) = mbfl_no_encoding_pass;
MBSTRG(http_input_identify) = mbfl_no_encoding_invalid;
@@ -724,12 +774,24 @@ PHP_RSHUTDOWN_FUNCTION(mbstring)
PHP_MINFO_FUNCTION(mbstring)
{
php_info_print_table_start();
- php_info_print_table_header(2, "Multibyte (Japanese) Support", "enabled");
+ php_info_print_table_header(2, "Multibyte Support", "enabled");
+#if defined(HAVE_MBSTR_JA)
+ php_info_print_table_row(2, "japanese support", "enabled");
+#endif
+#if defined(HAVE_MBSTR_CN)
+ php_info_print_table_row(2, "simplified chinese support", "enabled");
+#endif
+#if defined(HAVE_MBSTR_TW)
+ php_info_print_table_row(2, "traditional chinese support", "enabled");
+#endif
+#if defined(HAVE_MBSTR_KR)
+ php_info_print_table_row(2, "korean support", "enabled");
+#endif
#if defined(MBSTR_ENC_TRANS)
php_info_print_table_row(2, "http input encoding translation", "enabled");
#endif
#if defined(HAVE_MBREGEX)
- php_info_print_table_row(2, "multibyte regex support", "enabled");
+ php_info_print_table_row(2, "multibyte (japanese) regex support", "enabled");
#endif
php_info_print_table_end();