StringStream::copyToStream() should adjust the offset
authorTim Starling <tstarling@wikimedia.org>
Mon, 3 Jun 2019 06:10:44 +0000 (16:10 +1000)
committerTim Starling <tstarling@wikimedia.org>
Wed, 12 Jun 2019 00:22:34 +0000 (10:22 +1000)
As Stream is assumed to do.

Change-Id: I25ed0da8e8ca1b4393f88e64ecf7b96484ce8118

includes/Rest/CopyableStreamInterface.php
includes/Rest/StringStream.php

index d271db3..3e18e16 100644 (file)
@@ -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
index 18fb6b1..10ec42d 100644 (file)
@@ -35,6 +35,7 @@ class StringStream implements CopyableStreamInterface {
                } else {
                        $block = $this->contents;
                }
+               $this->offset = strlen( $this->contents );
                fwrite( $stream, $block );
        }