Jani Taskinen wrote:
> There are some bugs that have to be fixed before any actual release can
> be even dreamed of:
> http://bugs.php.net/search.php?cmd=display&status=Critical
> 
> Note that 2 of those even have patches attached to fix them..

I had a quick look at bug
        http://bugs.php.net/bug.php?id=45928
and found the problem to be in Zend/zend_stream.c function
zend_stream_fsize(): It uses fstat() to determine the filesize which on
MacOS X for pipes returns either 0 (my interpretation: no data from the
pipe ready yet) or a number up to 16384 (my interpretation: data from
the pipe ready but the maximum buffer size is 16k).

I see several solutions but I'm not sure which is the desired one:
- return 0 (size unknown) if the file is a pipe (or socket, ...)
- return 0 if the file is not a regular file (or symlink, dir?)
- look into a way of determining EOF reached

As a quick test I changed
        return buf.st_size;
in function zend_stream_fsize() to
        return 0;
and cat 30k.php | php worked after that.

- Chris

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to