Re: Re: cvs: php4 / TODO-4.1.txt
| From: | Wez Furlong | Date: | Tue, 17 Apr 2001 17:24:11 +0000 |
| Subject: | Re: Re: cvs: php4 / TODO-4.1.txt | ||
| References: | 1 | Groups: | php.dev |
| Request: | Send a blank email to php-dev+get-51812@lists.php.net to get a copy of this message | ||
On 2001-04-17 17:20:34, "Zeev Suraski" <zeev@zend.com> wrote:
> How did you implement it? The main problem with doing this until now was
> that under Windows, it's pretty much impossible to get a FILE* from a
> socket. The right way to implement it would most probably be implementing
> something similar to C++'s virtual classes, so I'm wondering whether you
> did it that way...
It's in CVS now - take a look at main/php_streams.h.
It's a bit like implementing our own set of stdio functions and using those rather than the
ANSI ones; these call down into the ANSI stdio or fds/sockets (or SSL sockets eventually) as
appropriate.
Casting into a FILE* just makes use of fdopen for sockets, or returns the underlying FILE* if there
is one.
We can only pass back a FILE* for something really alien if we have fopencookie.
There's no real magic in it :-)
If you can spot problems with this let me know!
--Wez.