ID:               44018
 User updated by:  jordan dot raub at dataxltd dot com
 Reported By:      jordan dot raub at dataxltd dot com
-Status:           Feedback
+Status:           Closed
 Bug Type:         SPL related
 Operating System: *
 PHP Version:      5.2.5
 Assigned To:      helly
 New Comment:

works fine now...


Previous Comments:
------------------------------------------------------------------------

[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.

------------------------------------------------------------------------

[2008-02-04 18:12:39] jordan dot raub at dataxltd dot com

that last post was straight from cvs...

cvs -d :pserver:[EMAIL PROTECTED]:/repository checkout -r PHP_5_3
php5

------------------------------------------------------------------------

[2008-02-04 18:11:04] jordan dot raub at dataxltd dot com

looking through the code it looks like DIT_CTOR_FLAGS shouldn't be sent
for the RecursiveDirectoryIterator. Maybe another flag should be sent
(RDIT_CTOR_FLAGS = 0x00000010) and the flags sent to the
parse_parameters should be default SPL_FILE_DIR_CURRENT_AS_SELF to
denote that "this" should be a RecursiveDirectoryIterator? 

$options not passed
string(21) "/virtualhosts/tmp/dir"
object(SplFileInfo)#3 (2) {
  ["pathName":"SplFileInfo":private]=>
  string(17) "/virtualhosts/tmp"
  ["fileName":"SplFileInfo":private]=>
  string(21) "/virtualhosts/tmp/dir"
}
string(52) "/virtualhosts/tmp/RecursiveDirectoryIteratorTest.php"
object(SplFileInfo)#4 (2) {
  ["pathName":"SplFileInfo":private]=>
  string(17) "/virtualhosts/tmp"
  ["fileName":"SplFileInfo":private]=>
  string(52) "/virtualhosts/tmp/RecursiveDirectoryIteratorTest.php"
}
$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)#3 (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)#4 (3) {
  ["pathName":"SplFileInfo":private]=>
  string(17) "/virtualhosts/tmp"
  ["glob":"DirectoryIterator":private]=>
  bool(false)
  ["subPathName":"RecursiveDirectoryIterator":private]=>
  string(0) ""
}
string(34) "RecursiveDirectoryIteratorTest.php"
object(RecursiveDirectoryIterator)#4 (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)#3 (2) {
  ["pathName":"SplFileInfo":private]=>
  string(17) "/virtualhosts/tmp"
  ["fileName":"SplFileInfo":private]=>
  string(21) "/virtualhosts/tmp/dir"
}
string(34) "RecursiveDirectoryIteratorTest.php"
object(SplFileInfo)#4 (2) {
  ["pathName":"SplFileInfo":private]=>
  string(17) "/virtualhosts/tmp"
  ["fileName":"SplFileInfo":private]=>
  string(52) "/virtualhosts/tmp/RecursiveDirectoryIteratorTest.php"
}

------------------------------------------------------------------------

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

Reply via email to