Re: mac os x, test failure
| From: | Alexey Zakhlestin | Date: | Wed, 02 Jul 2008 06:52:57 +0000 |
| Subject: | Re: mac os x, test failure | ||
| References: | 1 2 3 4 5 6 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-38698@lists.php.net to get a copy of this message | ||
On Wed, Jul 2, 2008 at 10:19 AM, Alexey Zakhlestin <indeyets@gmail.com> wrote:
> some more details.
> the return-chain in this case is following:
>
> virtual_file_ex(..., path, ...) -> returns 1, because path_length >= MAXPATHLEN
> expand_filepath(filepath, ...) -> returns null
> _php_stream_fopen(filename, ...) -> returns null
> php_plain_files_stream_opener(..., path, ...) -> returns null
> _php_stream_open_wrapper_ex(path, ...) calls php_stream_display_wrapper_errors()
> php_stream_display_wrapper_errors() checks errno-value
>
> I don't see how any function here might set errno to any value. How
> does this work on other operating-systems?
Anyway, I am leading to this: it is wrong, to check errno-value
anywhere, except right after the call, which sets errno
The proper solution would be, to have a pointer to some structure
passed to the callchain above, and explicitly store error-code/string
in virtual_file_ex()
--
Alexey Zakhlestin
http://blog.milkfarmsoft.com/