From: Marcus Boerger Date: Tue, 31 Aug 2004 20:54:00 +0000 (+0000) Subject: Fix seeking X-Git-Tag: PRE_ZEND_VM_DISPATCH_PATCH~32 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=819127b74b88b75740feccc8cdc860c16e9df54b;p=php Fix seeking --- diff --git a/ext/spl/spl_array.c b/ext/spl/spl_array.c index 901bd35552..34645a18ef 100755 --- a/ext/spl/spl_array.c +++ b/ext/spl/spl_array.c @@ -716,7 +716,7 @@ SPL_METHOD(Array, seek) 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) /* {{{ */ @@ -737,9 +737,8 @@ 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;