Commit 0980c33acd0 for php.net
commit 0980c33acd0f71f9185a992b0e57860f1276389a
Author: Gina Peter Banyard <girgias@php.net>
Date: Sat Jul 25 22:35:15 2026 +0100
streams: make php_stream_flush() a proper function
By turning the _-prefixed version into a static extended version
diff --git a/main/php_streams.h b/main/php_streams.h
index 313eff296a0..8a8fa4b3a56 100644
--- a/main/php_streams.h
+++ b/main/php_streams.h
@@ -377,8 +377,7 @@ PHPAPI int php_stream_getc(php_stream *stream);
PHPAPI int php_stream_putc(php_stream *stream, int c);
-PHPAPI int _php_stream_flush(php_stream *stream, int closing);
-#define php_stream_flush(stream) _php_stream_flush((stream), 0)
+PHPAPI int php_stream_flush(php_stream *stream);
PHPAPI int php_stream_sync(php_stream *stream, bool data_only);
diff --git a/main/streams/streams.c b/main/streams/streams.c
index accc8832e76..d7d3d70782f 100644
--- a/main/streams/streams.c
+++ b/main/streams/streams.c
@@ -249,6 +249,7 @@ static int _php_stream_free_persistent(zval *zv, void *pStream)
return le->ptr == pStream;
}
+static int php_stream_flush_ex(php_stream *stream, bool closing);
PHPAPI int php_stream_free(php_stream *stream, int close_options) /* {{{ */
{
@@ -336,7 +337,7 @@ fprintf(stderr, "stream_free: %s:%p[%s] preserve_handle=%d release_cast=%d remov
if (stream->flags & PHP_STREAM_FLAG_WAS_WRITTEN || stream->writefilters.head) {
/* make sure everything is saved */
- _php_stream_flush(stream, 1);
+ php_stream_flush_ex(stream, true);
}
/* If not called from the resource dtor, remove the stream from the resource list. */
@@ -1183,7 +1184,7 @@ static ssize_t php_stream_write_filtered(php_stream *stream, const char *buf, si
return consumed;
}
-PHPAPI int _php_stream_flush(php_stream *stream, int closing)
+static int php_stream_flush_ex(php_stream *stream, bool closing)
{
int ret = 0;
@@ -1200,6 +1201,10 @@ PHPAPI int _php_stream_flush(php_stream *stream, int closing)
return ret;
}
+PHPAPI int php_stream_flush(php_stream *stream) {
+ return php_stream_flush_ex(stream, false);
+}
+
PHPAPI ssize_t php_stream_write(php_stream *stream, const char *buf, size_t count)
{
ssize_t bytes;
@@ -1324,7 +1329,7 @@ PHPAPI int php_stream_seek(php_stream *stream, zend_off_t offset, int whence)
bool is_start_seeking = whence == SEEK_SET && offset == 0;
if (stream->writefilters.head) {
- _php_stream_flush(stream, 0);
+ php_stream_flush(stream);
if (!php_stream_are_filters_seekable(stream->writefilters.head, is_start_seeking,
PHP_STREAM_FILTER_WRITE)) {
return -1;