From e8f90b8a265c4f749843d03ae38c5a990e53f63a Mon Sep 17 00:00:00 2001 From: Tim Starling Date: Mon, 3 Jun 2019 16:10:44 +1000 Subject: [PATCH] StringStream::copyToStream() should adjust the offset As Stream is assumed to do. Change-Id: I25ed0da8e8ca1b4393f88e64ecf7b96484ce8118 --- includes/Rest/CopyableStreamInterface.php | 3 +++ includes/Rest/StringStream.php | 1 + 2 files changed, 4 insertions(+) diff --git a/includes/Rest/CopyableStreamInterface.php b/includes/Rest/CopyableStreamInterface.php index d271db3690..3e18e165f2 100644 --- a/includes/Rest/CopyableStreamInterface.php +++ b/includes/Rest/CopyableStreamInterface.php @@ -10,6 +10,9 @@ interface CopyableStreamInterface extends \Psr\Http\Message\StreamInterface { * Copy this stream to a specified stream resource. For some streams, * this can be implemented without a tight loop in PHP code. * + * Equivalent to reading from the object until EOF and writing the + * resulting data to $stream. The position will be advanced to the end. + * * Note that $stream is not a StreamInterface object. * * @param resource $stream Destination diff --git a/includes/Rest/StringStream.php b/includes/Rest/StringStream.php index 18fb6b1812..10ec42dbf0 100644 --- a/includes/Rest/StringStream.php +++ b/includes/Rest/StringStream.php @@ -35,6 +35,7 @@ class StringStream implements CopyableStreamInterface { } else { $block = $this->contents; } + $this->offset = strlen( $this->contents ); fwrite( $stream, $block ); } -- 2.20.1