@@ -3836,15 +3836,19 @@ PHP_FUNCTION(imap_mail_compose)
3836
3836
bod -> disposition .parameter = disp_param ;
3837
3837
}
3838
3838
}
3839
- if ((pvalue = zend_hash_str_find (Z_ARRVAL_P (data ), "contents.data" , sizeof ("contents.data" ) - 1 )) != NULL ) {
3840
- convert_to_string_ex (pvalue );
3841
- bod -> contents .text .data = fs_get (Z_STRLEN_P (pvalue ) + 1 );
3842
- memcpy (bod -> contents .text .data , Z_STRVAL_P (pvalue ), Z_STRLEN_P (pvalue ) + 1 );
3843
- bod -> contents .text .size = Z_STRLEN_P (pvalue );
3839
+ if (bod -> type == TYPEMESSAGE && bod -> subtype && !strcmp (bod -> subtype , "RFC822" )) {
3840
+ bod -> nested .msg = mail_newmsg ();
3844
3841
} else {
3845
- bod -> contents .text .data = fs_get (1 );
3846
- memcpy (bod -> contents .text .data , "" , 1 );
3847
- bod -> contents .text .size = 0 ;
3842
+ if ((pvalue = zend_hash_str_find (Z_ARRVAL_P (data ), "contents.data" , sizeof ("contents.data" ) - 1 )) != NULL ) {
3843
+ convert_to_string_ex (pvalue );
3844
+ bod -> contents .text .data = fs_get (Z_STRLEN_P (pvalue ) + 1 );
3845
+ memcpy (bod -> contents .text .data , Z_STRVAL_P (pvalue ), Z_STRLEN_P (pvalue ) + 1 );
3846
+ bod -> contents .text .size = Z_STRLEN_P (pvalue );
3847
+ } else {
3848
+ bod -> contents .text .data = fs_get (1 );
3849
+ memcpy (bod -> contents .text .data , "" , 1 );
3850
+ bod -> contents .text .size = 0 ;
3851
+ }
3848
3852
}
3849
3853
if ((pvalue = zend_hash_str_find (Z_ARRVAL_P (data ), "lines" , sizeof ("lines" ) - 1 )) != NULL ) {
3850
3854
bod -> size .lines = zval_get_long (pvalue );
@@ -3945,7 +3949,7 @@ PHP_FUNCTION(imap_mail_compose)
3945
3949
3946
3950
bod = & part -> body ;
3947
3951
3948
- spprintf (& tempstring , 0 , "%s%s%s" , mystring , bod -> contents .text .data , CRLF );
3952
+ spprintf (& tempstring , 0 , "%s%s%s" , mystring , bod -> contents .text .data ? ( char * ) bod -> contents . text . data : "" , CRLF );
3949
3953
efree (mystring );
3950
3954
mystring = tempstring ;
3951
3955
} while ((part = part -> next )); /* until done */
0 commit comments