moriyoshi               Sun Oct  6 11:31:52 2002 EDT

  Modified files:              
    /php4/ext/mbstring  php_mbregex.c 
  Log:
  added support for aliases of the encodings.
  
  
  
Index: php4/ext/mbstring/php_mbregex.c
diff -u php4/ext/mbstring/php_mbregex.c:1.7 php4/ext/mbstring/php_mbregex.c:1.8
--- php4/ext/mbstring/php_mbregex.c:1.7 Sun Oct  6 02:37:47 2002
+++ php4/ext/mbstring/php_mbregex.c     Sun Oct  6 11:31:52 2002
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php_mbregex.c,v 1.7 2002/10/06 06:37:47 moriyoshi Exp $ */
+/* $Id: php_mbregex.c,v 1.8 2002/10/06 15:31:52 moriyoshi Exp $ */
 
 
 #ifdef HAVE_CONFIG_H
@@ -90,22 +90,23 @@
 
        mbctype = -1;
        if (pname != NULL) {
-               if (strcasecmp("EUC-JP", pname) == 0) {
+               if (strcasecmp("EUC-JP", pname) == 0
+                   || strcasecmp("X-EUC-JP", pname) == 0
+                   || strcasecmp("UJIS", pname) == 0
+                   || strcasecmp("EUCJP", pname) == 0
+                   || strcasecmp("EUC_JP", pname) == 0) {
                        mbctype = MBCTYPE_EUC;
-               } else if (strcasecmp("UTF-8", pname) == 0) {
+               } else if (strcasecmp("UTF-8", pname) == 0
+                          || strcasecmp("UTF8", pname) == 0) {
                        mbctype = MBCTYPE_UTF8;
-               } else if (strcasecmp("SJIS", pname) == 0) {
+               } else if (strcasecmp("SJIS", pname) == 0
+                          || strcasecmp("CP932", pname) == 0
+                          || strcasecmp("MS932", pname) == 0
+                          || strcasecmp("SHIFT_JIS", pname) == 0 ) {
                        mbctype = MBCTYPE_SJIS;
-               } else if (strcasecmp("ascii", pname) == 0) {
+               } else if (strcasecmp("ASCII", pname) == 0) {
                        mbctype = MBCTYPE_ASCII;
-               } else if (strcasecmp("euc", pname) == 0) {
                        mbctype = MBCTYPE_EUC;
-               } else if (strcasecmp("eucJP", pname) == 0) {
-                       mbctype = MBCTYPE_EUC;
-               } else if (strcasecmp("EUC_JP", pname) == 0) {
-                       mbctype = MBCTYPE_EUC;
-               } else if (strcasecmp("Shift_JIS", pname) == 0) {
-                       mbctype = MBCTYPE_SJIS;
                }
        }
 
@@ -115,7 +116,7 @@
 static const char*
 php_mbregex_mbctype2name(int mbctype)
 {
-       const char *p;
+       const char *p = NULL;
 
        if (mbctype == MBCTYPE_EUC) {
                p = "EUC-JP";
@@ -125,8 +126,6 @@
                p = "SJIS";
        } else if(mbctype == MBCTYPE_ASCII) {
                p = "ascii";
-       } else {
-               p = "unknown";
        }
 
        return p;
@@ -224,8 +223,14 @@
        int mbctype;
 
        if (ZEND_NUM_ARGS() == 0) {
-               
RETVAL_STRING((char*)php_mbregex_mbctype2name(MBSTRG(current_mbctype)), 1);
-       } else if (ZEND_NUM_ARGS() == 1 && zend_get_parameters_ex(1, &arg1) != 
FAILURE) {
+               const char *retval = php_mbregex_mbctype2name(MBSTRG(current_mbctype));
+               if ( retval != NULL ) {
+                       RETVAL_STRING((char *)retval);
+               } else {
+                       RETVAL_FALSE;
+               }
+       } else if (ZEND_NUM_ARGS() == 1 &&
+                  zend_get_parameters_ex(1, &arg1) != FAILURE) {
                convert_to_string_ex(arg1);
                mbctype = php_mbregex_name2mbctype(Z_STRVAL_PP(arg1));
                if (mbctype < 0) {



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to