ID: 46440
User updated by: hostmaster at uuism dot net
Reported By: hostmaster at uuism dot net
Status: Bogus
Bug Type: Directory function related
Operating System: Fedora Core 4
PHP Version: 5.2.6
New Comment:
Can I test the solution with php5.2-200810312330 that I downloaded from
php-5.2-latest.gz?
I don't know what you mean by "that test isn't to 5.2.6."
Test rewinddir_variation3.phpt was part of the released package for
php-5.2.6, as were closedir_variation3.phpt and
readdir_variation7.phpt.
They all failed for similar reasons: directory functions work for file
resources.
Thanks.
Jim
Previous Comments:
------------------------------------------------------------------------
[2008-10-31 22:32:41] [EMAIL PROTECTED]
Hello, that test isn't to 5.2.6. The bug was fixed in 5.2.7-RC1.
Thanks.
------------------------------------------------------------------------
[2008-10-31 22:13:18] hostmaster at uuism dot net
Updated Summary
------------------------------------------------------------------------
[2008-10-31 22:12:29] hostmaster at uuism dot net
I didn't notice that the rest of the expected results were different
also.
It appears that rewinddir() DOES work for file resources.
Jim
------------------------------------------------------------------------
[2008-10-31 22:07:35] hostmaster at uuism dot net
Description:
------------
When I run test ext/standard/tests/dir/rewinddir_variation3 with PHP
5.2.6, the test fails because the Warning is not returned:
When rewinddir() is executed with a file resource, PHP does not return
an Warning message.
The test expects that PHP will return "Warning: rewinddir(): %d is not
a valid Directory resource in %s on line %d"
Otherwise, the test results are fine.
Jim
Reproduce code:
---------------
<?php
/* Prototype : void rewinddir([resource $dir_handle])
* Description: Rewind dir_handle back to the start
* Source code: ext/standard/dir.c
* Alias to functions: rewind
*/
/*
* Pass a file pointer to rewinddir() to test behaviour
*/
echo "*** Testing rewinddir() : usage variations ***\n";
echo "\n-- Open a file using fopen --\n";
var_dump($fp = fopen(__FILE__, 'r'));
$result1 = fread($fp, 5);
var_dump(rewinddir($fp));
$result2 = fread($fp, 5);
echo "\n-- Check if rewinddir() has repositioned the file pointer
--\n";
if ($result1 === $result2) {
echo "rewinddir() works on file pointers\n";
} else {
echo "rewinddir() does not work on file pointers\n";
}
?>
Expected result:
----------------
*** Testing rewinddir() : usage variations ***
-- Open a file using fopen --
resource(%d) of type (stream)
Warning: rewinddir(): %d is not a valid Directory resource in %s on
line %d
bool(false)
-- Check if rewinddir() has repositioned the file pointer --
rewinddir() does not work on file pointers
Actual result:
--------------
*** Testing rewinddir() : usage variations ***
-- Open a file using fopen --
resource(5) of type (stream)
NULL
-- Check if rewinddir() has repositioned the file pointer --
rewinddir() works on file pointers
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=46440&edit=1