summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
Diffstat (limited to 'ext')
-rw-r--r--ext/standard/dir.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/ext/standard/dir.c b/ext/standard/dir.c
index 0a42fd055c..11dcb0cf8d 100644
--- a/ext/standard/dir.c
+++ b/ext/standard/dir.c
@@ -256,13 +256,15 @@ PHP_FUNCTION(closedir)
{
zval **id, **tmp, *myself;
php_stream *dirp;
+ int rsrc_id;
FETCH_DIRP();
- if (dirp->rsrc_id == DIRG(default_dir)) {
+ rsrc_id = dirp->rsrc_id;
+ zend_list_delete(dirp->rsrc_id);
+
+ if (rsrc_id == DIRG(default_dir)) {
php_set_default_dir(-1 TSRMLS_CC);
- } else {
- zend_list_delete(dirp->rsrc_id);
}
}
/* }}} */