zend_hash_internal_pointer_reset_ex(aht, &intern->pos);
- while (position-- > 0 && spl_array_next(intern TSRMLS_CC));
+ while (position-- > 0 && spl_array_next(intern TSRMLS_CC) == SUCCESS);
} /* }}} */
int spl_array_object_count_elements(zval *object, long *count TSRMLS_DC) /* {{{ */
pos = intern->pos;
*count = 0;
zend_hash_internal_pointer_reset_ex(aht, &intern->pos);
- while(intern->pos) {
+ while(intern->pos && spl_array_next(intern TSRMLS_CC) == SUCCESS) {
(*count)++;
- spl_array_next(intern TSRMLS_CC);
}
intern->pos = pos;
return SUCCESS;