ID: 44018
User updated by: jordan dot raub at dataxltd dot com
Reported By: jordan dot raub at dataxltd dot com
-Status: Closed
+Status: Open
Bug Type: SPL related
Operating System: *
PHP Version: 5.2.5
Assigned To: helly
New Comment:
re-opened
Previous Comments:
------------------------------------------------------------------------
[2008-09-30 21:32:02] jordan dot raub at dataxltd dot com
Broken again...
here it is from a snapshot...
looks like CURRENT_AS_FILEINFO == 0 now
$options not passed
string(52) "/virtualhosts/tmp/RecursiveDirectoryIteratorTest/dir"
object(SplFileInfo)#3 (0) {
}
string(83)
"/virtualhosts/tmp/RecursiveDirectoryIteratorTest/RecursiveDirectoryIteratorTest.php"
object(SplFileInfo)#4 (0) {
}
$options = 0
string(52) "/virtualhosts/tmp/RecursiveDirectoryIteratorTest/dir"
object(SplFileInfo)#3 (0) {
}
string(83)
"/virtualhosts/tmp/RecursiveDirectoryIteratorTest/RecursiveDirectoryIteratorTest.php"
object(SplFileInfo)#4 (0) {
}
$options = 0
string(52) "/virtualhosts/tmp/RecursiveDirectoryIteratorTest/dir"
object(SplFileInfo)#3 (0) {
}
string(83)
"/virtualhosts/tmp/RecursiveDirectoryIteratorTest/RecursiveDirectoryIteratorTest.php"
object(SplFileInfo)#4 (0) {
}
$options = 100
string(3) "dir"
object(SplFileInfo)#3 (0) {
}
string(34) "RecursiveDirectoryIteratorTest.php"
object(SplFileInfo)#4 (0) {
}
$options = 100
string(3) "dir"
object(SplFileInfo)#3 (0) {
}
string(34) "RecursiveDirectoryIteratorTest.php"
object(SplFileInfo)#4 (0) {
}
------------------------------------------------------------------------
[2008-02-05 16:13:52] jordan dot raub at dataxltd dot com
works fine now...
------------------------------------------------------------------------
[2008-02-05 09:49:27] [EMAIL PROTECTED]
Please try using this CVS snapshot:
http://snaps.php.net/php5.2-latest.tar.gz
For Windows (zip):
http://snaps.php.net/win32/php5.2-win32-latest.zip
For Windows (installer):
http://snaps.php.net/win32/php5.2-win32-installer-latest.msi
Can you './cvsclean' and rebuild 5.2 or at least 'touch
ext/spl/spl_directory.c && make' ? The last fix for 5.2 was only in the
headers and in my checks it worked correct.
------------------------------------------------------------------------
[2008-02-04 22:08:20] jordan dot raub at dataxltd dot com
had to reopen it. php5.3cvs works fine but php5.2cvs fixed the error
but put added a bug..
php5.3cvs works fine. the test script I ran now give the appropriate
output:
$options not passed
string(21) "/virtualhosts/tmp/dir"
object(RecursiveDirectoryIterator)#1 (4) {
["pathName":"SplFileInfo":private]=>
string(17) "/virtualhosts/tmp"
["fileName":"SplFileInfo":private]=>
string(21) "/virtualhosts/tmp/dir"
["glob":"DirectoryIterator":private]=>
bool(false)
["subPathName":"RecursiveDirectoryIterator":private]=>
string(0) ""
}
string(52) "/virtualhosts/tmp/RecursiveDirectoryIteratorTest.php"
object(RecursiveDirectoryIterator)#1 (4) {
["pathName":"SplFileInfo":private]=>
string(17) "/virtualhosts/tmp"
["fileName":"SplFileInfo":private]=>
string(52) "/virtualhosts/tmp/RecursiveDirectoryIteratorTest.php"
["glob":"DirectoryIterator":private]=>
bool(false)
["subPathName":"RecursiveDirectoryIterator":private]=>
string(0) ""
}
$options = 0
string(21) "/virtualhosts/tmp/dir"
object(RecursiveDirectoryIterator)#2 (4) {
["pathName":"SplFileInfo":private]=>
string(17) "/virtualhosts/tmp"
["fileName":"SplFileInfo":private]=>
string(21) "/virtualhosts/tmp/dir"
["glob":"DirectoryIterator":private]=>
bool(false)
["subPathName":"RecursiveDirectoryIterator":private]=>
string(0) ""
}
string(52) "/virtualhosts/tmp/RecursiveDirectoryIteratorTest.php"
object(RecursiveDirectoryIterator)#2 (4) {
["pathName":"SplFileInfo":private]=>
string(17) "/virtualhosts/tmp"
["fileName":"SplFileInfo":private]=>
string(52) "/virtualhosts/tmp/RecursiveDirectoryIteratorTest.php"
["glob":"DirectoryIterator":private]=>
bool(false)
["subPathName":"RecursiveDirectoryIterator":private]=>
string(0) ""
}
$options = 10
string(21) "/virtualhosts/tmp/dir"
object(SplFileInfo)#4 (2) {
["pathName":"SplFileInfo":private]=>
string(17) "/virtualhosts/tmp"
["fileName":"SplFileInfo":private]=>
string(21) "/virtualhosts/tmp/dir"
}
string(52) "/virtualhosts/tmp/RecursiveDirectoryIteratorTest.php"
object(SplFileInfo)#2 (2) {
["pathName":"SplFileInfo":private]=>
string(17) "/virtualhosts/tmp"
["fileName":"SplFileInfo":private]=>
string(52) "/virtualhosts/tmp/RecursiveDirectoryIteratorTest.php"
}
$options = 100
string(3) "dir"
object(RecursiveDirectoryIterator)#1 (3) {
["pathName":"SplFileInfo":private]=>
string(17) "/virtualhosts/tmp"
["glob":"DirectoryIterator":private]=>
bool(false)
["subPathName":"RecursiveDirectoryIterator":private]=>
string(0) ""
}
string(34) "RecursiveDirectoryIteratorTest.php"
object(RecursiveDirectoryIterator)#1 (3) {
["pathName":"SplFileInfo":private]=>
string(17) "/virtualhosts/tmp"
["glob":"DirectoryIterator":private]=>
bool(false)
["subPathName":"RecursiveDirectoryIterator":private]=>
string(0) ""
}
$options = 110
string(3) "dir"
object(SplFileInfo)#4 (2) {
["pathName":"SplFileInfo":private]=>
string(17) "/virtualhosts/tmp"
["fileName":"SplFileInfo":private]=>
string(21) "/virtualhosts/tmp/dir"
}
string(34) "RecursiveDirectoryIteratorTest.php"
object(SplFileInfo)#1 (2) {
["pathName":"SplFileInfo":private]=>
string(17) "/virtualhosts/tmp"
["fileName":"SplFileInfo":private]=>
string(52) "/virtualhosts/tmp/RecursiveDirectoryIteratorTest.php"
}
but php5.2cvs gives me:
$options not passed
string(3) "dir"
object(RecursiveDirectoryIterator)#1 (0) {
}
string(34) "RecursiveDirectoryIteratorTest.php"
object(RecursiveDirectoryIterator)#1 (0) {
}
$options = 0
string(3) "dir"
object(RecursiveDirectoryIterator)#2 (0) {
}
string(34) "RecursiveDirectoryIteratorTest.php"
object(RecursiveDirectoryIterator)#2 (0) {
}
$options = 10
string(3) "dir"
object(SplFileInfo)#4 (0) {
}
string(34) "RecursiveDirectoryIteratorTest.php"
object(SplFileInfo)#2 (0) {
}
$options = 0
string(3) "dir"
object(RecursiveDirectoryIterator)#1 (0) {
}
string(34) "RecursiveDirectoryIteratorTest.php"
object(RecursiveDirectoryIterator)#1 (0) {
}
$options = 10
string(3) "dir"
object(SplFileInfo)#4 (0) {
}
string(34) "RecursiveDirectoryIteratorTest.php"
object(SplFileInfo)#1 (0) {
}
notice the KEY_AS_FILENAME constant isn't working as it is in php5.3
cvs..
php5.2
ext/spl/spl_directory.h:102:#define SPL_FILE_DIR_KEY_AS_FILENAME
0x00000000 /* make RecursiveDirectoryTree::key() return getFilename()
*/
php5.3
ext/spl/spl_directory.h:102:#define SPL_FILE_DIR_KEY_AS_FILENAME
0x00000100 /* make RecursiveDirectoryTree::key() return getFilename()
*/
thanks again :)
------------------------------------------------------------------------
[2008-02-04 21:39:22] [EMAIL PROTECTED]
This bug has been fixed in CVS.
Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.
Thank you for the report, and for helping us make PHP better.
I Fixed this in PHP 5.2.6-dev and above along with the documentation.
Now 0 is CURRENT_AS_SELF and KEY_AS_PATHNAME.
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/44018
--
Edit this bug report at http://bugs.php.net/?id=44018&edit=1