]> granicus.if.org Git - php/commitdiff
Prevented unwanted encoding detections in mb_send_mail()
authorMoriyoshi Koizumi <moriyoshi@php.net>
Wed, 13 Nov 2002 08:26:04 +0000 (08:26 +0000)
committerMoriyoshi Koizumi <moriyoshi@php.net>
Wed, 13 Nov 2002 08:26:04 +0000 (08:26 +0000)
# This patch shouldn't break BC

ext/mbstring/mbstring.c

index 29d9489a9cd24cc5343e605f973e752e502e8bdd..30fb0650fff77f55eb2dd2df825c84f7a360e8c5 100644 (file)
@@ -3344,9 +3344,10 @@ PHP_FUNCTION(mb_send_mail)
                orig_str.no_language = MBSTRG(current_language);
                orig_str.val = (unsigned char *)Z_STRVAL_PP(argv[1]);
                orig_str.len = Z_STRLEN_PP(argv[1]);
-               orig_str.no_encoding = mbfl_identify_encoding_no(&orig_str, MBSTRG(current_detect_order_list), MBSTRG(current_detect_order_list_size) TSRMLS_CC);
-               if (orig_str.no_encoding == mbfl_no_encoding_invalid) {
-                       orig_str.no_encoding = MBSTRG(current_internal_encoding);
+               orig_str.no_encoding = MBSTRG(current_internal_encoding);
+               if (orig_str.no_encoding == mbfl_no_encoding_invalid
+                   || orig_str.no_encoding == mbfl_no_encoding_pass) {
+                       orig_str.no_encoding = mbfl_identify_encoding_no(&orig_str, MBSTRG(current_detect_order_list), MBSTRG(current_detect_order_list_size) TSRMLS_CC);
                }
                pstr = mbfl_mime_header_encode(&orig_str, &conv_str, tran_cs, head_enc, "\n", sizeof("Subject: [PHP-jp nnnnnnnn]") TSRMLS_CC);
                if (pstr != NULL) {
@@ -3365,9 +3366,11 @@ PHP_FUNCTION(mb_send_mail)
                orig_str.no_language = MBSTRG(current_language);
                orig_str.val = Z_STRVAL_PP(argv[2]);
                orig_str.len = Z_STRLEN_PP(argv[2]);
-               orig_str.no_encoding = mbfl_identify_encoding_no(&orig_str, MBSTRG(current_detect_order_list), MBSTRG(current_detect_order_list_size) TSRMLS_CC);
-               if (orig_str.no_encoding == mbfl_no_encoding_invalid) {
-                       orig_str.no_encoding = MBSTRG(current_internal_encoding);
+               orig_str.no_encoding = MBSTRG(current_internal_encoding);
+
+               if (orig_str.no_encoding == mbfl_no_encoding_invalid
+                   || orig_str.no_encoding == mbfl_no_encoding_pass) {
+                       orig_str.no_encoding = mbfl_identify_encoding_no(&orig_str, MBSTRG(current_detect_order_list), MBSTRG(current_detect_order_list_size) TSRMLS_CC);
                }
                pstr = mbfl_convert_encoding(&orig_str, &conv_str, tran_cs TSRMLS_CC);
                if (pstr != NULL) {