From c4844bff99871ce44e71a7b20b64fb603866191a Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Tue, 13 Jan 2015 11:25:08 +0100 Subject: php-horde-Horde-Imap-Client: upstream patch --- Horde_Imap_Client-upstream.patch | 58 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 Horde_Imap_Client-upstream.patch (limited to 'Horde_Imap_Client-upstream.patch') diff --git a/Horde_Imap_Client-upstream.patch b/Horde_Imap_Client-upstream.patch new file mode 100644 index 0000000..00ca1e3 --- /dev/null +++ b/Horde_Imap_Client-upstream.patch @@ -0,0 +1,58 @@ +From ae1adf9f1549f6bb826b541274949cfd0e77457e Mon Sep 17 00:00:00 2001 +From: Michael M Slusarz +Date: Tue, 13 Jan 2015 03:00:10 -0700 +Subject: [PATCH] [mms] Workaround broken in-memory stream filter handling. + +Needed to work on PHP 5.5.21+ and 5.6.5+ +--- + .../Horde/Imap/Client/Data/Format/Filter/Quote.php | 25 ++++++++++++++++++++-- + framework/Imap_Client/package.xml | 4 ++-- + 2 files changed, 25 insertions(+), 4 deletions(-) + +diff --git a/framework/Imap_Client/lib/Horde/Imap/Client/Data/Format/Filter/Quote.php b/framework/Imap_Client/lib/Horde/Imap/Client/Data/Format/Filter/Quote.php +index a3f1788..3964f69 100644 +--- a/framework/Imap_Client/lib/Horde/Imap/Client/Data/Format/Filter/Quote.php ++++ b/framework/Imap_Client/lib/Horde/Imap/Client/Data/Format/Filter/Quote.php +@@ -23,11 +23,28 @@ + class Horde_Imap_Client_Data_Format_Filter_Quote extends php_user_filter + { + /** ++ * Has the initial quote been prepended? ++ * ++ * @var boolean ++ */ ++ protected $_prepend; ++ ++ /** ++ */ ++ public function onCreate() ++ { ++ $this->_prepend = false; ++ } ++ ++ /** + * @see stream_filter_register() + */ + public function filter($in, $out, &$consumed, $closing) + { +- stream_bucket_append($out, stream_bucket_new($this->stream, '"')); ++ if (!$this->_prepend) { ++ stream_bucket_append($out, stream_bucket_new($this->stream, '"')); ++ $this->_prepend = true; ++ } + + while ($bucket = stream_bucket_make_writeable($in)) { + $consumed += $bucket->datalen; +@@ -35,7 +52,11 @@ public function filter($in, $out, &$consumed, $closing) + stream_bucket_append($out, $bucket); + } + +- stream_bucket_append($out, stream_bucket_new($this->stream, '"')); ++ /* feof() call needed due to: ++ * http://news.php.net/php.internals/80363 */ ++ if ($closing || feof($this->stream)) { ++ stream_bucket_append($out, stream_bucket_new($this->stream, '"')); ++ } + + return PSFS_PASS_ON; + } -- cgit