hirokawa                Sun Oct 26 02:47:43 2003 EDT

  Modified files:              (Branch: PHP_4_3)
    /php-src/ext/mbstring       mbstring.c mbstring.h 
  Log:
  revert my previous patch.
  
Index: php-src/ext/mbstring/mbstring.c
diff -u php-src/ext/mbstring/mbstring.c:1.142.2.31 
php-src/ext/mbstring/mbstring.c:1.142.2.32
--- php-src/ext/mbstring/mbstring.c:1.142.2.31  Sat Oct 25 23:41:18 2003
+++ php-src/ext/mbstring/mbstring.c     Sun Oct 26 02:47:42 2003
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: mbstring.c,v 1.142.2.31 2003/10/26 03:41:18 moriyoshi Exp $ */
+/* $Id: mbstring.c,v 1.142.2.32 2003/10/26 07:47:42 hirokawa Exp $ */
 
 /*
  * PHP4 Multibyte String module "mbstring"
@@ -361,12 +361,6 @@
  *  Even if any illegal encoding is detected the result may contain a list 
  *  of parsed encodings.
  */
-
-/* {{{ static int php_mb_parse_encoding_list()
- *  Return 0 if input contains any illegal encoding, otherwise 1.
- *  Even if any illegal encoding is detected the result may contain a list 
- *  of parsed encodings.
- */
 static int
 php_mb_parse_encoding_list(const char *value, int value_length, enum mbfl_no_encoding 
**return_list, int *return_size, int persistent TSRMLS_DC)
 {
@@ -3737,10 +3731,9 @@
 /* }}} */
 
 /*     {{{ MBSTRING_API int php_mb_gpc_encoding_converter() */
-MBSTRING_API int php_mb_gpc_encoding_converter(char **str, int *len, int num, const 
char *encoding_to, const char *encoding_from 
+MBSTRING_API int php_mb_gpc_encoding_converter(char **str, int *len, const char 
*encoding_to, const char *encoding_from 
                TSRMLS_DC)
 {
-       int i;
        mbfl_string string, result, *ret;
        enum mbfl_no_encoding from_encoding, to_encoding;
        mbfl_buffer_converter *convd;
@@ -3774,38 +3767,35 @@
        string.no_encoding = from_encoding;
        string.no_language = MBSTRG(current_language);
 
-       for (i=0; i<num; i++) {
-               string.val = (char*)str[i];
-               string.len = len[i];
+       string.val = (char*)(*str);
+       string.len = *len;
 
-               /* initialize converter */
-               convd = mbfl_buffer_converter_new(from_encoding, to_encoding, 
string.len);
-               if (convd == NULL) {
-                       return -1;
-               }
-               mbfl_buffer_converter_illegal_mode(convd, 
MBSTRG(current_filter_illegal_mode));
-               mbfl_buffer_converter_illegal_substchar(convd, 
MBSTRG(current_filter_illegal_substchar));
+       /* initialize converter */
+       convd = mbfl_buffer_converter_new(from_encoding, to_encoding, string.len);
+       if (convd == NULL) {
+               return -1;
+       }
+       mbfl_buffer_converter_illegal_mode(convd, MBSTRG(current_filter_illegal_mode));
+       mbfl_buffer_converter_illegal_substchar(convd, 
MBSTRG(current_filter_illegal_substchar));
                
-               /* do it */
-               ret = mbfl_buffer_converter_feed_result(convd, &string, &result);
-               if (ret != NULL) {
-                       efree(str[i]);
-                       str[i] = ret->val;
-                       len[i] = ret->len;
-               }
-               mbfl_buffer_converter_delete(convd);
+       /* do it */
+       ret = mbfl_buffer_converter_feed_result(convd, &string, &result);
+       if (ret != NULL) {
+               efree(*str);
+               *str = ret->val;
+               *len = ret->len;
        }
+       mbfl_buffer_converter_delete(convd);
        return ret ? 0 : -1;
 }
 
 /* {{{ MBSTRING_API int php_mb_gpc_encoding_detector()
  */
-MBSTRING_API int php_mb_gpc_encoding_detector(char **arg_string, int *arg_length, int 
num, char *arg_list TSRMLS_DC)
+MBSTRING_API int php_mb_gpc_encoding_detector(const char *arg_string, int arg_length, 
char *arg_list TSRMLS_DC)
 {
        mbfl_string string;
        enum mbfl_no_encoding *elist;
        enum mbfl_no_encoding encoding;
-       mbfl_encoding_detector *identd = NULL; 
 
        int size, *list;
 
@@ -3849,22 +3839,9 @@
 
        mbfl_string_init(&string);
        string.no_language = MBSTRG(current_language);
-
-       identd = mbfl_encoding_detector_new(elist, size);
-
-       if (identd) {
-               int n = 0;
-               while (n < num) {
-                       string.val = (unsigned char*)arg_string[n];
-                       string.len = arg_length[n];
-                       if (mbfl_encoding_detector_feed(identd, &string)) {
-                               break;
-                       }
-                       n++;
-               }
-               encoding = mbfl_encoding_detector_judge(identd);
-               mbfl_encoding_detector_delete(identd);
-       }
+       string.val = (char*)arg_string;
+       string.len = arg_length;
+       encoding = mbfl_identify_encoding_no(&string, elist, size TSRMLS_CC);
 
        if (encoding != mbfl_no_encoding_invalid) {
                MBSTRG(http_input_identify) = encoding;
Index: php-src/ext/mbstring/mbstring.h
diff -u php-src/ext/mbstring/mbstring.h:1.40.2.10 
php-src/ext/mbstring/mbstring.h:1.40.2.11
--- php-src/ext/mbstring/mbstring.h:1.40.2.10   Sat Oct 25 23:41:18 2003
+++ php-src/ext/mbstring/mbstring.h     Sun Oct 26 02:47:42 2003
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: mbstring.h,v 1.40.2.10 2003/10/26 03:41:18 moriyoshi Exp $ */
+/* $Id: mbstring.h,v 1.40.2.11 2003/10/26 07:47:42 hirokawa Exp $ */
 
 /*
  * PHP4 Multibyte String module "mbstring" (currently only for Japanese)
@@ -142,9 +142,9 @@
 
 MBSTRING_API int php_mb_encoding_converter_ex(char **str, int *len, const char 
*encoding_to, 
                                                                                       
   const char *encoding_from TSRMLS_DC);
-MBSTRING_API int php_mb_gpc_encoding_converter(char **str, int *len, int num, const 
char *encoding_to, const char *encoding_from TSRMLS_DC);
+MBSTRING_API int php_mb_gpc_encoding_converter(char **str, int *len, const char 
*encoding_to, const char *encoding_from TSRMLS_DC);
 
-MBSTRING_API int php_mb_gpc_encoding_detector(char **arg_string, int *arg_length, int 
num, char *arg_list TSRMLS_DC);
+MBSTRING_API int php_mb_gpc_encoding_detector(const char *arg_string, int arg_length, 
char *arg_list TSRMLS_DC);
 
 ZEND_BEGIN_MODULE_GLOBALS(mbstring)
        enum mbfl_no_language language;

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

Reply via email to