From 093fd7ff95e9cfc087d76be004a79040b88850c9 Mon Sep 17 00:00:00 2001 From: "Danilo G. Baio" Date: Sat, 13 Oct 2018 17:48:38 +0000 Subject: [PATCH] mail/pecl-mailparse: Fix build with PHP 7.3 Obtained from: upstream --- mail/pecl-mailparse/Makefile | 2 +- .../files/patch-PHP-73-compatibility | 80 +++++++++++++++++++ 2 files changed, 81 insertions(+), 1 deletion(-) create mode 100644 mail/pecl-mailparse/files/patch-PHP-73-compatibility diff --git a/mail/pecl-mailparse/Makefile b/mail/pecl-mailparse/Makefile index fa6b792eae9c..ba1d54e43b11 100644 --- a/mail/pecl-mailparse/Makefile +++ b/mail/pecl-mailparse/Makefile @@ -13,6 +13,6 @@ LICENSE_FILE= ${WRKSRC}/LICENSE USES= php:pecl USE_PHP= mbstring:build -IGNORE_WITH_PHP= 56 73 +IGNORE_WITH_PHP= 56 .include diff --git a/mail/pecl-mailparse/files/patch-PHP-73-compatibility b/mail/pecl-mailparse/files/patch-PHP-73-compatibility new file mode 100644 index 000000000000..41263a8ade1f --- /dev/null +++ b/mail/pecl-mailparse/files/patch-PHP-73-compatibility @@ -0,0 +1,80 @@ +http://git.php.net/?p=pecl/mail/mailparse.git;a=patch;h=13c2c425e519b22660a03d566c35e76b3d4751dc +From 13c2c425e519b22660a03d566c35e76b3d4751dc Mon Sep 17 00:00:00 2001 +From: Jan-E +Date: Tue, 10 Jul 2018 17:42:24 +0200 +Subject: [PATCH] PHP 7.3 compatibility + +--- + mailparse.c | 13 +++++++++++++ + php_mailparse_mime.c | 9 +++++++++ + 2 files changed, 22 insertions(+) + +diff --git a/mailparse.c b/mailparse.c +index bf5be0f..f658d68 100644 +--- mailparse.c ++++ 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); + } + /* }}} */ +diff --git a/php_mailparse_mime.c b/php_mailparse_mime.c +index b22eabb..8176c9d 100644 +--- php_mailparse_mime.c ++++ 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 + } + } + +-- +2.1.4 +