diff options
Diffstat (limited to 'main/streams.c')
-rwxr-xr-x | main/streams.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/main/streams.c b/main/streams.c index cab4e2f001..e288445b3b 100755 --- a/main/streams.c +++ b/main/streams.c @@ -1820,7 +1820,9 @@ PHPAPI int _php_stream_cast(php_stream *stream, int castas, void **ret, int show exit_success: - if ((stream->writepos - stream->readpos) > 0 && stream->fclose_stdiocast != PHP_STREAM_FCLOSE_FOPENCOOKIE) { + if ((stream->writepos - stream->readpos) > 0 && + stream->fclose_stdiocast != PHP_STREAM_FCLOSE_FOPENCOOKIE && + (flags & PHP_STREAM_CAST_INTERNAL) == 0) { /* the data we have buffered will be lost to the third party library that * will be accessing the stream. Emit a warning so that the end-user will * know that they should try something else */ |