ID:               44246
 Updated by:       [EMAIL PROTECTED]
 Reported By:      [EMAIL PROTECTED]
-Status:           Assigned
+Status:           Closed
 Bug Type:         Directory function related
 Operating System: Windows XP
 PHP Version:      5.2CVS-2008-02-25 (CVS)
 Assigned To:      felipe
 New Comment:

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.




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

[2008-02-25 16:55:39] [EMAIL PROTECTED]

Description:
------------
closedir() will accept a file resource opened by fopen() as the
$directory argument. In the documentation for closedir() it says the
following: "The stream must have previously been opened by opendir()".
It seems that the resource type is not being checked correctly. 
A directory opened with opendir() can also be passed to fclose()
without an error message being generated.

Reproduce code:
---------------
<?php
var_dump($fp = fopen(__FILE__, 'r'));
closedir($fp);
var_dump($fp);

$directory = dirname(__FILE__) . '/test';
mkdir($directory);
var_dump($dh = opendir($directory));
var_dump(fclose($dh));
var_dump($dh);
?>

Expected result:
----------------
resource(5) of type (stream)

Warning: closedir(): supplied argument is not a valid Directory
resource in ...
resource(5) of type (stream)
resource(6) of type (stream)

Warning: fclose(): supplied argument is not a valid stream resource in
...
bool(false)
resource(6) of type (stream)

Actual result:
--------------
resource(5) of type (stream)
resource(5) of type (Unknown)
resource(6) of type (stream)
bool(true)
resource(6) of type (stream)



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


-- 
Edit this bug report at http://bugs.php.net/?id=44246&edit=1

Reply via email to