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