@@ -3375,15 +3375,19 @@ PHP_FUNCTION(imap_mail_compose)
3375
3375
bod -> disposition .parameter = disp_param ;
3376
3376
}
3377
3377
}
3378
- if ((pvalue = zend_hash_str_find (Z_ARRVAL_P (data ), "contents.data" , sizeof ("contents.data" ) - 1 )) != NULL ) {
3379
- convert_to_string_ex (pvalue );
3380
- bod -> contents .text .data = fs_get (Z_STRLEN_P (pvalue ) + 1 );
3381
- memcpy (bod -> contents .text .data , Z_STRVAL_P (pvalue ), Z_STRLEN_P (pvalue ) + 1 );
3382
- bod -> contents .text .size = Z_STRLEN_P (pvalue );
3378
+ if (bod -> type == TYPEMESSAGE && bod -> subtype && !strcmp (bod -> subtype , "RFC822" )) {
3379
+ bod -> nested .msg = mail_newmsg ();
3383
3380
} else {
3384
- bod -> contents .text .data = fs_get (1 );
3385
- memcpy (bod -> contents .text .data , "" , 1 );
3386
- bod -> contents .text .size = 0 ;
3381
+ if ((pvalue = zend_hash_str_find (Z_ARRVAL_P (data ), "contents.data" , sizeof ("contents.data" ) - 1 )) != NULL ) {
3382
+ convert_to_string_ex (pvalue );
3383
+ bod -> contents .text .data = fs_get (Z_STRLEN_P (pvalue ) + 1 );
3384
+ memcpy (bod -> contents .text .data , Z_STRVAL_P (pvalue ), Z_STRLEN_P (pvalue ) + 1 );
3385
+ bod -> contents .text .size = Z_STRLEN_P (pvalue );
3386
+ } else {
3387
+ bod -> contents .text .data = fs_get (1 );
3388
+ memcpy (bod -> contents .text .data , "" , 1 );
3389
+ bod -> contents .text .size = 0 ;
3390
+ }
3387
3391
}
3388
3392
if ((pvalue = zend_hash_str_find (Z_ARRVAL_P (data ), "lines" , sizeof ("lines" ) - 1 )) != NULL ) {
3389
3393
bod -> size .lines = zval_get_long (pvalue );
@@ -3485,7 +3489,7 @@ PHP_FUNCTION(imap_mail_compose)
3485
3489
3486
3490
bod = & part -> body ;
3487
3491
3488
- spprintf (& tempstring , 0 , "%s%s%s" , mystring , bod -> contents .text .data , CRLF );
3492
+ spprintf (& tempstring , 0 , "%s%s%s" , mystring , bod -> contents .text .data ? ( char * ) bod -> contents . text . data : "" , CRLF );
3489
3493
efree (mystring );
3490
3494
mystring = tempstring ;
3491
3495
} while ((part = part -> next )); /* until done */
0 commit comments