summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xext/spl/spl_iterators.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/ext/spl/spl_iterators.c b/ext/spl/spl_iterators.c
index 6baff4ff22..7b02143aff 100755
--- a/ext/spl/spl_iterators.c
+++ b/ext/spl/spl_iterators.c
@@ -2085,7 +2085,9 @@ PHP_FUNCTION(iterator_count)
iter = Z_OBJCE_P(obj)->get_iterator(Z_OBJCE_P(obj), obj TSRMLS_CC);
- iter->funcs->rewind(iter TSRMLS_CC);
+ if (iter->funcs->rewind) {
+ iter->funcs->rewind(iter TSRMLS_CC);
+ }
while (iter->funcs->valid(iter TSRMLS_CC) == SUCCESS) {
count++;
iter->funcs->move_forward(iter TSRMLS_CC);