Opinion needed (bug #45928)
| From: | Alexey Zakhlestin | Date: | Tue, 09 Sep 2008 12:39:05 +0000 |
| Subject: | Opinion needed (bug #45928) | ||
| Groups: | php.internals | ||
| Request: | Send a blank email to internals+get-40400@lists.php.net to get a copy of this message | ||
http://bugs.php.net/bug.php?id=45928
Christian Schneider wrote:
> I had a quick look at this bug 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.
>
> I posted this to internals@php.net but did not get any reply so I'm not
> sure how to proceed.
--
Alexey Zakhlestin
http://blog.milkfarmsoft.com/