diff options
author | Rui Hirokawa <hirokawa@php.net> | 2003-10-25 10:29:07 +0000 |
---|---|---|
committer | Rui Hirokawa <hirokawa@php.net> | 2003-10-25 10:29:07 +0000 |
commit | c4b163de889605fa333a4eaf67ef165872b342ad (patch) | |
tree | 17300b4d6f2b9bc3429cc2e3eb6ef25dcdba4fdd /ext/mbstring | |
parent | e1fd9aed8f1d60fc59c80ac7141189a0dcfd1efb (diff) | |
download | php-git-c4b163de889605fa333a4eaf67ef165872b342ad.tar.gz |
encoding detection shouldn't be performed if mbstring.http_input is set to auto or any valid encoding.
Diffstat (limited to 'ext/mbstring')
-rw-r--r-- | ext/mbstring/mbstring.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c index d0dd74602b..bb86dc0633 100644 --- a/ext/mbstring/mbstring.c +++ b/ext/mbstring/mbstring.c @@ -3354,6 +3354,10 @@ MBSTRING_API int php_mb_gpc_encoding_converter(char **str, int *len, int num, co from_encoding = MBSTRG(http_input_identify); } + if (from_encoding == mbfl_no_encoding_pass) { + return 0; + } + /* initialize string */ mbfl_string_init(&string); mbfl_string_init(&result); @@ -3396,6 +3400,19 @@ MBSTRING_API int php_mb_gpc_encoding_detector(char **arg_string, int *arg_length int size, *list; + if (MBSTRG(http_input_list_size) == 1 && + MBSTRG(http_input_list)[0] == mbfl_no_encoding_pass) { + MBSTRG(http_input_identify) = mbfl_no_encoding_pass; + return SUCCESS; + } + + if (MBSTRG(http_input_list_size) == 1 && + MBSTRG(http_input_list)[0] != mbfl_no_encoding_auto && + mbfl_no_encoding2name(MBSTRG(http_input_list)[0]) != NULL) { + MBSTRG(http_input_identify) = MBSTRG(http_input_list)[0]; + return SUCCESS; + } + if (arg_list && strlen(arg_list)>0) { /* make encoding list */ list = NULL; |