kalowsky                Wed Sep 18 07:57:17 2002 EDT

  Modified files:              
    /php4/ext/imap      php_imap.c 
  Log:
  Patch for Bug #19402 provided by Kevin Way ([EMAIL PROTECTED])
  
  
Index: php4/ext/imap/php_imap.c
diff -u php4/ext/imap/php_imap.c:1.138 php4/ext/imap/php_imap.c:1.139
--- php4/ext/imap/php_imap.c:1.138      Mon Sep  9 17:01:33 2002
+++ php4/ext/imap/php_imap.c    Wed Sep 18 07:57:17 2002
@@ -26,7 +26,7 @@
    | PHP 4.0 updates:  Zeev Suraski <[EMAIL PROTECTED]>                       |
    +----------------------------------------------------------------------+
  */
-/* $Id: php_imap.c,v 1.138 2002/09/09 21:01:33 kalowsky Exp $ */
+/* $Id: php_imap.c,v 1.139 2002/09/18 11:57:17 kalowsky Exp $ */
 
 #define IMAP41
 
@@ -2854,7 +2854,24 @@
                        tmp_param->attribute = "CHARSET";
                        tmp_param->next = bod->parameter;
                        bod->parameter = tmp_param;
-               }
+            }
+        if (zend_hash_find(Z_ARRVAL_PP(data), "type.parameters", 
+sizeof("type.parameters"), (void **) &pvalue)== SUCCESS) {
+           if(Z_TYPE_PP(pvalue) == IS_ARRAY) {
+               disp_param = tmp_param = NULL;
+               while (zend_hash_get_current_data(Z_ARRVAL_PP(pvalue), (void **) 
+&disp_data) == SUCCESS) {
+                   disp_param = mail_newbody_parameter();
+                   zend_hash_get_current_key(Z_ARRVAL_PP(pvalue), &key, &ind, 0);
+                   disp_param->attribute = key;
+                   convert_to_string_ex(disp_data);
+                   disp_param->value = (char *) fs_get(Z_STRLEN_PP(disp_data) + 1);
+                   memcpy(disp_param->value, Z_STRVAL_PP(disp_data), 
+Z_STRLEN_PP(disp_data) + 1);
+                   zend_hash_move_forward(Z_ARRVAL_PP(pvalue));
+                   disp_param->next = tmp_param;
+                   tmp_param = disp_param;
+                 }
+             bod->parameter = disp_param;
+             }
+        }
                if (zend_hash_find(Z_ARRVAL_PP(data), "subtype", sizeof("subtype"), 
(void **) &pvalue)== SUCCESS) {
                        convert_to_string_ex(pvalue);
                        bod->subtype = cpystr(Z_STRVAL_PP(pvalue));
@@ -2941,6 +2958,23 @@
                                tmp_param->next = bod->parameter;
                                bod->parameter = tmp_param;
                        }
+            if (zend_hash_find(Z_ARRVAL_PP(data), "type.parameters", 
+sizeof("type.parameters"), (void **) &pvalue)== SUCCESS) {
+               if(Z_TYPE_PP(pvalue) == IS_ARRAY) {
+                   disp_param = tmp_param = NULL;
+                   while (zend_hash_get_current_data(Z_ARRVAL_PP(pvalue), (void **) 
+&disp_data) == SUCCESS) {
+                       disp_param = mail_newbody_parameter();
+                       zend_hash_get_current_key(Z_ARRVAL_PP(pvalue), &key, &ind, 0);
+                       disp_param->attribute = key;
+                       convert_to_string_ex(disp_data);
+                       disp_param->value = (char *) fs_get(Z_STRLEN_PP(disp_data) + 
+1);
+                       memcpy(disp_param->value, Z_STRVAL_PP(disp_data), 
+Z_STRLEN_PP(disp_data) + 1);
+                       zend_hash_move_forward(Z_ARRVAL_PP(pvalue));
+                       disp_param->next = tmp_param;
+                       tmp_param = disp_param;
+                   }
+               bod->parameter = disp_param;
+               }
+            }
                        if (zend_hash_find(Z_ARRVAL_PP(data), "subtype", 
sizeof("subtype"), (void **) &pvalue)== SUCCESS) {
                                convert_to_string_ex(pvalue);
                                bod->subtype = cpystr(Z_STRVAL_PP(pvalue));     



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

Reply via email to