Fix build with PHP 7.3+. https://bugs.php.net/bug.php?id=77045 http://git.php.net/?p=pecl/mail/mailparse.git;a=commitdiff;h=13c2c425e519b22660a03d566c35e76b3d4751dc;hp=720ed5b77591922596564c414a655f3c7fcd6200 --- mailparse.c.orig +++ mailparse.c @@ -984,12 +984,21 @@ PHP_FUNCTION(mailparse_stream_encode) buf = emalloc(bufsize); RETVAL_TRUE; +#if PHP_VERSION_ID >= 70300 + conv = mbfl_convert_filter_new(mbfl_no2encoding(mbfl_no_encoding_8bit), + mbfl_no2encoding(enc), + mailparse_stream_output, + mailparse_stream_flush, + deststream + ); +#else conv = mbfl_convert_filter_new(mbfl_no_encoding_8bit, enc, mailparse_stream_output, mailparse_stream_flush, deststream ); +#endif if (enc == mbfl_no_encoding_qprint) { /* If the qp encoded section is going to be digitally signed, @@ -1165,9 +1174,13 @@ PHP_FUNCTION(mailparse_msg_get_structure) mailparse_fetch_mimepart_resource(part, arg); +#if PHP_VERSION_ID >= 70300 + array_init(return_value); +#else if (array_init(return_value) == FAILURE) { RETURN_FALSE; } +#endif php_mimepart_enum_parts(part, &get_structure_callback, return_value); } /* }}} */ --- php_mailparse_mime.c.orig +++ php_mailparse_mime.c @@ -906,12 +906,21 @@ PHP_MAILPARSE_API void php_mimepart_decoder_prepare(php_mimepart *part, int do_d if (from == mbfl_no_encoding_8bit || from == mbfl_no_encoding_7bit) { part->extract_filter = NULL; } else { +#if PHP_VERSION_ID >= 70300 + part->extract_filter = mbfl_convert_filter_new( + mbfl_no2encoding(from), mbfl_no2encoding(mbfl_no_encoding_8bit), + filter_into_work_buffer, + NULL, + part + ); +#else part->extract_filter = mbfl_convert_filter_new( from, mbfl_no_encoding_8bit, filter_into_work_buffer, NULL, part ); +#endif } }