mike Thu Apr 20 17:52:02 2006 UTC Modified files: /php-src/main/streams streams.c Log: MFB: Fix reading stream filters never notified about EOF http://cvs.php.net/viewcvs.cgi/php-src/main/streams/streams.c?r1=1.121&r2=1.122&diff_format=u Index: php-src/main/streams/streams.c diff -u php-src/main/streams/streams.c:1.121 php-src/main/streams/streams.c:1.122 --- php-src/main/streams/streams.c:1.121 Tue Apr 18 19:09:31 2006 +++ php-src/main/streams/streams.c Thu Apr 20 17:52:01 2006 @@ -19,7 +19,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: streams.c,v 1.121 2006/04/18 19:09:31 pollita Exp $ */ +/* $Id: streams.c,v 1.122 2006/04/20 17:52:01 mike Exp $ */ #define _GNU_SOURCE #include "php.h" @@ -440,7 +440,7 @@ /* allocate a buffer for reading chunks */ chunk_buf = emalloc(stream->chunk_size); - while (!err_flag && (stream->writepos - stream->readpos < (off_t)size)) { + while (!stream->eof && !err_flag && (stream->writepos - stream->readpos < (off_t)size)) { size_t justread = 0; int flags; php_stream_bucket *bucket; @@ -449,7 +449,7 @@ /* read a chunk into a bucket */ justread = stream->ops->read(stream, chunk_buf, stream->chunk_size TSRMLS_CC); - if (justread != (size_t)-1) { + if (justread && justread != (size_t)-1) { bucket = php_stream_bucket_new(stream, chunk_buf, justread, 0, 0 TSRMLS_CC); /* after this call, bucket is owned by the brigade */
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php