From 6eb3a0ff12e301fd14295545b58c148f930a9ba5 Mon Sep 17 00:00:00 2001 From: Sascha Schumann Date: Thu, 30 Jan 2003 21:11:29 +0000 Subject: [PATCH] Partial MFH: Fix sticky eof issue, and avoid calling system stat macro --- main/streams.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/main/streams.c b/main/streams.c index 74b95bf94b..c30240d4be 100755 --- a/main/streams.c +++ b/main/streams.c @@ -516,8 +516,7 @@ static void php_stream_fill_read_buffer(php_stream *stream, size_t size TSRMLS_D if (stream->writepos - stream->readpos < (off_t)size) { size_t justread = 0; - if (stream->eof) - return; + /* ignore eof here; the underlying state might have changed */ /* no; so lets fetch more data */ @@ -576,7 +575,8 @@ PHPAPI size_t _php_stream_read(php_stream *stream, char *buf, size_t size TSRMLS didread += toread; } - if (size == 0 || stream->eof) { + /* ignore eof here; the underlying state might have changed */ + if (size == 0) { break; } @@ -674,7 +674,7 @@ PHPAPI int _php_stream_stat(php_stream *stream, php_stream_statbuf *ssb TSRMLS_D return -1; } - return stream->ops->stat(stream, ssb TSRMLS_CC); + return (stream->ops->stat)(stream, ssb TSRMLS_CC); } PHPAPI char *php_stream_locate_eol(php_stream *stream, char *buf, size_t buf_len TSRMLS_DC) -- 2.50.1