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