<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/php-git.git/main/streams, branch master</title>
<subtitle>git.php.net: repository/php-src.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/php-git.git/'/>
<entry>
<title>Change Zend Stream API to use zend_string* instead of char*.</title>
<updated>2021-03-16T17:31:36+00:00</updated>
<author>
<name>Dmitry Stogov</name>
<email>dmitry@zend.com</email>
</author>
<published>2021-03-16T17:31:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/php-git.git/commit/?id=c732ab400af92c54eee47c487a56009f1d79dd5d'/>
<id>c732ab400af92c54eee47c487a56009f1d79dd5d</id>
<content type='text'>
This allows to eliminate re-calculation of string lenght and hash value.
See the detailed list of changes in UPGRADING.INTERNALS.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This allows to eliminate re-calculation of string lenght and hash value.
See the detailed list of changes in UPGRADING.INTERNALS.
</pre>
</div>
</content>
</entry>
<entry>
<title>Improve SPL directory and stat() cache using zend_srting* instead of char*</title>
<updated>2021-02-25T23:28:46+00:00</updated>
<author>
<name>Dmitry Stogov</name>
<email>dmitry@zend.com</email>
</author>
<published>2021-02-25T23:28:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/php-git.git/commit/?id=13e4ce386bb7257dbbe3167b070382ea959ec763'/>
<id>13e4ce386bb7257dbbe3167b070382ea959ec763</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'PHP-8.0'</title>
<updated>2021-02-22T14:33:57+00:00</updated>
<author>
<name>Christoph M. Becker</name>
<email>cmbecker69@gmx.de</email>
</author>
<published>2021-02-22T14:33:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/php-git.git/commit/?id=7f8ea83ef438fbcfa1cbc636d701491d4e773245'/>
<id>7f8ea83ef438fbcfa1cbc636d701491d4e773245</id>
<content type='text'>
* PHP-8.0:
  Fix #75776: Flushing streams with compression filter is broken
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* PHP-8.0:
  Fix #75776: Flushing streams with compression filter is broken
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'PHP-7.4' into PHP-8.0</title>
<updated>2021-02-22T14:32:17+00:00</updated>
<author>
<name>Christoph M. Becker</name>
<email>cmbecker69@gmx.de</email>
</author>
<published>2021-02-22T14:31:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/php-git.git/commit/?id=b418fe266dd3ab56358469ed8290187959bad1a7'/>
<id>b418fe266dd3ab56358469ed8290187959bad1a7</id>
<content type='text'>
* PHP-7.4:
  Fix #75776: Flushing streams with compression filter is broken
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* PHP-7.4:
  Fix #75776: Flushing streams with compression filter is broken
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix #75776: Flushing streams with compression filter is broken</title>
<updated>2021-02-22T14:28:46+00:00</updated>
<author>
<name>Christoph M. Becker</name>
<email>cmbecker69@gmx.de</email>
</author>
<published>2021-02-16T18:36:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/php-git.git/commit/?id=963e50c8c48ecfbe7444445e5ca8e33530d630d0'/>
<id>963e50c8c48ecfbe7444445e5ca8e33530d630d0</id>
<content type='text'>
First, the `bzip2.compress` filter has the same issue as `zlib.deflate`
so we port the respective fix[1] to ext/bz2.

Second, there is still an issue, if a stream with an attached
compression filter is flushed before it is closed, without any writes
in between.  In that case, the compression is never finalized.  We fix
this by enforcing a `_php_stream_flush()` with the `closing` flag set
in `_php_stream_free()`, whenever a write filter is attached.  This
call is superfluous for most write filters, but does not hurt, even
when it is unnecessary.

[1] &lt;http://git.php.net/?p=php-src.git;a=commit;h=20e75329f2adb11dd231852c061926d0e4080929&gt;

Closes GH-6703.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
First, the `bzip2.compress` filter has the same issue as `zlib.deflate`
so we port the respective fix[1] to ext/bz2.

Second, there is still an issue, if a stream with an attached
compression filter is flushed before it is closed, without any writes
in between.  In that case, the compression is never finalized.  We fix
this by enforcing a `_php_stream_flush()` with the `closing` flag set
in `_php_stream_free()`, whenever a write filter is attached.  This
call is superfluous for most write filters, but does not hurt, even
when it is unnecessary.

[1] &lt;http://git.php.net/?p=php-src.git;a=commit;h=20e75329f2adb11dd231852c061926d0e4080929&gt;

Closes GH-6703.
</pre>
</div>
</content>
</entry>
<entry>
<title>Replace zend_bool uses with bool</title>
<updated>2021-01-15T11:33:06+00:00</updated>
<author>
<name>Nikita Popov</name>
<email>nikita.ppv@gmail.com</email>
</author>
<published>2021-01-15T11:30:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/php-git.git/commit/?id=3e01f5afb1b52fe26a956190296de0192eedeec1'/>
<id>3e01f5afb1b52fe26a956190296de0192eedeec1</id>
<content type='text'>
We're starting to see a mix between uses of zend_bool and bool.
Replace all usages with the standard bool type everywhere.

Of course, zend_bool is retained as an alias.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We're starting to see a mix between uses of zend_bool and bool.
Replace all usages with the standard bool type everywhere.

Of course, zend_bool is retained as an alias.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'PHP-8.0'</title>
<updated>2020-12-23T12:53:19+00:00</updated>
<author>
<name>Christoph M. Becker</name>
<email>cmbecker69@gmx.de</email>
</author>
<published>2020-12-23T12:53:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/php-git.git/commit/?id=89d4b6b790472ca4081f61b8e6fbbea170ea00ad'/>
<id>89d4b6b790472ca4081f61b8e6fbbea170ea00ad</id>
<content type='text'>
* PHP-8.0:
  Fix #80384: limit read buffer size
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* PHP-8.0:
  Fix #80384: limit read buffer size
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'PHP-7.4' into PHP-8.0</title>
<updated>2020-12-23T12:52:45+00:00</updated>
<author>
<name>Christoph M. Becker</name>
<email>cmbecker69@gmx.de</email>
</author>
<published>2020-12-23T12:52:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/php-git.git/commit/?id=7d9ddd61ecc2c99be8709cfa6b51e716343ad5da'/>
<id>7d9ddd61ecc2c99be8709cfa6b51e716343ad5da</id>
<content type='text'>
* PHP-7.4:
  Fix #80384: limit read buffer size
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* PHP-7.4:
  Fix #80384: limit read buffer size
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix #80384: limit read buffer size</title>
<updated>2020-12-23T12:49:56+00:00</updated>
<author>
<name>Adam Seitz</name>
<email>adamjseitz@gmail.com</email>
</author>
<published>2020-12-01T23:40:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/php-git.git/commit/?id=70dfbe00684eb1c31d5b49f643e4736696c3b7df'/>
<id>70dfbe00684eb1c31d5b49f643e4736696c3b7df</id>
<content type='text'>
In the case of a stream with no filters, php_stream_fill_read_buffer
only reads stream-&gt;chunk_size into the read buffer. If the stream has
filters attached, it could unnecessarily buffer a large amount of data.

With this change, php_stream_fill_read_buffer only proceeds until either
the requested size or stream-&gt;chunk_size is available in the read buffer.

Co-authored-by: Christoph M. Becker &lt;cmbecker69@gmx.de&gt;

Closes GH-6444.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In the case of a stream with no filters, php_stream_fill_read_buffer
only reads stream-&gt;chunk_size into the read buffer. If the stream has
filters attached, it could unnecessarily buffer a large amount of data.

With this change, php_stream_fill_read_buffer only proceeds until either
the requested size or stream-&gt;chunk_size is available in the read buffer.

Co-authored-by: Christoph M. Becker &lt;cmbecker69@gmx.de&gt;

Closes GH-6444.
</pre>
</div>
</content>
</entry>
<entry>
<title>Back memory stream by a zend_string</title>
<updated>2020-12-18T16:07:07+00:00</updated>
<author>
<name>Nikita Popov</name>
<email>nikita.ppv@gmail.com</email>
</author>
<published>2020-12-18T16:07:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/php-git.git/commit/?id=7904a087ec4fc156c52e0f5e8e15d798808f7843'/>
<id>7904a087ec4fc156c52e0f5e8e15d798808f7843</id>
<content type='text'>
This allows reusing an existing zend_string inside a memory stream
without reallocating. For non-readonly streams, the string will
only get separated on write.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This allows reusing an existing zend_string inside a memory stream
without reallocating. For non-readonly streams, the string will
only get separated on write.
</pre>
</div>
</content>
</entry>
</feed>
