Re: zend_stream_fixup
| From: | Stanislav Malyshev | Date: | Wed, 09 Mar 2005 15:22:58 +0000 |
| Subject: | Re: zend_stream_fixup | ||
| References: | 1 2 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-15323@lists.php.net to get a copy of this message | ||
WF>>The idea is that the zend engine should only call the functions in
WF>>zend_stream.c to access the script input. The fixup function is
But file_handle is not used only for input. There are a lof of other
things that can be done with handle. Getting stat, for example, or
seeking. It's possible to do it with FILE * and with php_stream, but not
with the result of the fixup function. Actually, after fixup function it
is impossible to do anything but read and close with the handle. I think
it's very wrong.
WF>>designed to promote FILE* or file descriptors up to something
WF>>compatible with its stdio stream reading functions. Filenames are
WF>>handed out to PHP and opened up using the streams layer.
WF>>
WF>>The rule for the fixup function is that it either errors out, or sets
WF>>up the zend_file_handle so that zend_stream_XXX functions will work.
But this means if you get a file handle which is ZEND_HANDLE_STREAM, you
cannot use it as a stream - it might be result of stream open, in which
case handle is php_stream *, or result of fixup, in which case is't FILE
*. Don't you think it's wrong?
--
Stanislav Malyshev, Zend Products Engineer
stas@zend.com http://www.zend.com/ +972-3-6139665 ext.115