hirokawa                Sat Nov 19 01:39:43 2005 EDT

  Modified files:              (Branch: PHP_4_4)
    /php-src/ext/mbstring       mbstring.c 
  Log:
  MFH: fixed #35253 length of the encoded string vilolates a RFC.
  
http://cvs.php.net/diff.php/php-src/ext/mbstring/mbstring.c?r1=1.142.2.47.2.3&r2=1.142.2.47.2.4&ty=u
Index: php-src/ext/mbstring/mbstring.c
diff -u php-src/ext/mbstring/mbstring.c:1.142.2.47.2.3 
php-src/ext/mbstring/mbstring.c:1.142.2.47.2.4
--- php-src/ext/mbstring/mbstring.c:1.142.2.47.2.3      Fri Nov  4 20:14:05 2005
+++ php-src/ext/mbstring/mbstring.c     Sat Nov 19 01:39:39 2005
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: mbstring.c,v 1.142.2.47.2.3 2005/11/05 01:14:05 hirokawa Exp $ */
+/* $Id: mbstring.c,v 1.142.2.47.2.4 2005/11/19 06:39:39 hirokawa Exp $ */
 
 /*
  * PHP4 Multibyte String module "mbstring"
@@ -2924,16 +2924,17 @@
 }
 /* }}} */
 
-/* {{{ proto string mb_encode_mimeheader(string str [, string charset [, 
string transfer-encoding [, string linefeed]]])
+/* {{{ proto string mb_encode_mimeheader(string str [, string charset [, 
string transfer-encoding [, string linefeed [, int indent]]]])
    Converts the string to MIME "encoded-word" in the format of 
=?charset?(B|Q)?encoded_string?= */
 PHP_FUNCTION(mb_encode_mimeheader)
 {
-       pval **argv[4];
+       pval **argv[5];
        enum mbfl_no_encoding charset, transenc;
        mbfl_string  string, result, *ret;
        char *p, *linefeed;
+       int indent;
 
-       if (ZEND_NUM_ARGS() < 1 || ZEND_NUM_ARGS() > 4 || 
zend_get_parameters_array_ex(ZEND_NUM_ARGS(), argv) == FAILURE) {
+       if (ZEND_NUM_ARGS() < 1 || ZEND_NUM_ARGS() > 5 || 
zend_get_parameters_array_ex(ZEND_NUM_ARGS(), argv) == FAILURE) {
                WRONG_PARAM_COUNT;
        }
 
@@ -2970,6 +2971,12 @@
                linefeed = Z_STRVAL_PP(argv[3]);
        }
 
+       indent = 0;
+       if (ZEND_NUM_ARGS() >= 5) {
+               convert_to_long_ex(argv[4]);
+               indent = Z_LVAL_PP(argv[4]);
+       }
+
        convert_to_string_ex(argv[0]);
        mbfl_string_init(&string);
        mbfl_string_init(&result);
@@ -2977,7 +2984,7 @@
        string.no_encoding = MBSTRG(current_internal_encoding);
        string.val = Z_STRVAL_PP(argv[0]);
        string.len = Z_STRLEN_PP(argv[0]);
-       ret = mbfl_mime_header_encode(&string, &result, charset, transenc, 
linefeed, 0);
+       ret = mbfl_mime_header_encode(&string, &result, charset, transenc, 
linefeed, indent);
        if (ret != NULL) {
                RETVAL_STRINGL((char *)ret->val, ret->len, 0)   /* the string 
is already strdup()'ed */
        } else {

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

Reply via email to