]> granicus.if.org Git - php/commitdiff
encoding detection shouldn't be performed if mbstring.http_input is set to auto or...
authorRui Hirokawa <hirokawa@php.net>
Sat, 25 Oct 2003 10:29:07 +0000 (10:29 +0000)
committerRui Hirokawa <hirokawa@php.net>
Sat, 25 Oct 2003 10:29:07 +0000 (10:29 +0000)
ext/mbstring/mbstring.c

index d0dd74602ba5a51a1c0c6908c8ca0418e49751b9..bb86dc06331a0556f29a15d5eafeb4dbcd387f02 100644 (file)
@@ -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;