com php-src: Cleanup: don't keep useless dangling pointer: ext/spl/spl_directory.c ext/spl/spl_directory.h
| From: | Dmitry Stogov | Date: | Tue, 22 Sep 2015 14:48:25 +0000 |
| Subject: | com php-src: Cleanup: don't keep useless dangling pointer: ext/spl/spl_directory.c ext/spl/spl_directory.h | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-89114@lists.php.net to get a copy of this message | ||
Commit: e45f67245aaf623935b7a4cabc6aa690ebfe7a7b
Author: Dmitry Stogov <dmitry@zend.com> Tue, 22 Sep 2015 17:48:25 +0300
Parents: e050412cdd833e64f5f06fa88ff84035c2501b76
Branches: PHP-7.0 master
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=e45f67245aaf623935b7a4cabc6aa690ebfe7a7b
Log:
Cleanup: don't keep useless dangling pointer
Changed paths:
M ext/spl/spl_directory.c
M ext/spl/spl_directory.h
Diff:
diff --git a/ext/spl/spl_directory.c b/ext/spl/spl_directory.c
index eaaf609..5090a0b 100644
--- a/ext/spl/spl_directory.c
+++ b/ext/spl/spl_directory.c
@@ -122,10 +122,6 @@ static void spl_filesystem_object_free_storage(zend_object *object) /* {{{ */
spl_filesystem_file_free_line(intern);
break;
}
-
- if (intern->it) {
- //????zend_iterator_dtor(&intern->it->intern);
- }
} /* }}} */
/* {{{ spl_ce_dir_object_new */
@@ -1646,8 +1642,7 @@ static void spl_filesystem_dir_it_dtor(zend_object_iterator *iter)
zval_ptr_dtor(object);
}
/* Otherwise we were called from the owning object free storage handler as
- * it sets
- * iterator->intern.data to NULL.
+ * it sets iterator->intern.data to IS_UNDEF.
* We don't even need to destroy iterator->current as we didn't add a
* reference to it in move_forward or get_iterator */
}
diff --git a/ext/spl/spl_directory.h b/ext/spl/spl_directory.h
index dca463d..5ad55ab 100644
--- a/ext/spl/spl_directory.h
+++ b/ext/spl/spl_directory.h
@@ -101,7 +101,6 @@ struct _spl_filesystem_object {
char escape;
} file;
} u;
- spl_filesystem_iterator *it;
zend_object std;
};
@@ -114,10 +113,12 @@ static inline spl_filesystem_object *spl_filesystem_from_obj(zend_object *obj)
/
static inline spl_filesystem_iterator* spl_filesystem_object_to_iterator(spl_filesystem_object
*obj)
{
- obj->it = ecalloc(1, sizeof(spl_filesystem_iterator));
- obj->it->object = (void *)obj;
- zend_iterator_init(&obj->it->intern);
- return obj->it;
+ spl_filesystem_iterator *it;
+
+ it = ecalloc(1, sizeof(spl_filesystem_iterator));
+ it->object = (void *)obj;
+ zend_iterator_init(&it->intern);
+ return it;
}
static inline spl_filesystem_object* spl_filesystem_iterator_to_object(spl_filesystem_iterator *it)