|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2007-02-13 07:01 UTC] clay at killersoft dot com
Description: ------------ The following methods in a userspace stream wrapper will not call the constructor: url_stat() dir_opendir() rmdir() mkdir() rename() unlink() Reproduce code: --------------- http://killersoft.com/misc/Test_Stream.php.txt Expected result: ---------------- Any time a line of output beginning with '== [method] CALLED' appears, that line should contain an 'obj: ' value with a uniqid value, indicating that the constructor was called. Actual result: -------------- == dir_opendir METHOD CALLED (obj: ) == ... == dir_readdir METHOD CALLED (obj: ) == ... == dir_closedir METHOD CALLED (obj: ) == ... == url_stat METHOD CALLED (obj: ) == ... == mkdir METHOD CALLED (obj: ) == ... == rmdir METHOD CALLED (obj: ) == ... == unlink METHOD CALLED (obj: ) == ... == rename METHOD CALLED (obj: ) == ... Patchesbug-40459 (last revision 2012-05-04 12:46 UTC by jschippers@php.net)Pull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Wed Oct 29 01:00:01 2025 UTC |
I believe this issue is still present. I have attached a test case to demonstrate the problem. When looking at main/streams/userspace.c, it is clear that only in user_wrapper_opener() the constructor of the user space class is called (the "if (uwrap->ce->constructor) {}" block).