com php-src: Merge branch 'PHP-5.6': ext/spl/spl_observer.c

From: Date: Sat, 14 Mar 2015 03:32:09 +0000
Subject: com php-src: Merge branch 'PHP-5.6': ext/spl/spl_observer.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-85512@lists.php.net to get a copy of this message
Commit: 9420a2a5b0079ddc9ff6db31f7ebcf3e869a0717 Author: Xinchen Hui <laruence@php.net> Sat, 14 Mar 2015 11:32:09 +0800 Parents: e78971cd7bd53b0d18dacedd88f3daaae9aa592f 96bb3b838c5cbeafa1328c65fbe33be1c340572b Branches: master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=9420a2a5b0079ddc9ff6db31f7ebcf3e869a0717 Log: Merge branch 'PHP-5.6' Changed paths: MM ext/spl/spl_observer.c Diff: diff --cc ext/spl/spl_observer.c index 14a0bad,cf86636...619ed38 --- a/ext/spl/spl_observer.c +++ b/ext/spl/spl_observer.c @@@ -357,21 -367,24 +357,21 @@@ static HashTable* spl_object_storage_de /* }}} */ /* overriden for garbage collection */ -static HashTable *spl_object_storage_get_gc(zval *obj, zval ***table, int *n TSRMLS_DC) /* {{{ */ +static HashTable *spl_object_storage_get_gc(zval *obj, zval **table, int *n) /* {{{ */ { - long i = 0; - spl_SplObjectStorage *intern = (spl_SplObjectStorage*)zend_object_store_get_object(obj TSRMLS_CC); + int i = 0; + spl_SplObjectStorage *intern = Z_SPLOBJSTORAGE_P(obj); spl_SplObjectStorageElement *element; - HashPosition pos; - if (intern->storage.nNumOfElements > intern->gcdata_num) { + if (intern->storage.nNumOfElements * 2 > intern->gcdata_num) { intern->gcdata_num = intern->storage.nNumOfElements * 2; - intern->gcdata = (zval**)erealloc(intern->gcdata, sizeof(zval*) * intern->gcdata_num); + intern->gcdata = (zval*)erealloc(intern->gcdata, sizeof(zval) * intern->gcdata_num); } - zend_hash_internal_pointer_reset_ex(&intern->storage, &pos); - while (zend_hash_get_current_data_ex(&intern->storage, (void **)&element, &pos) == SUCCESS) { - intern->gcdata[i++] = element->obj; - intern->gcdata[i++] = element->inf; - zend_hash_move_forward_ex(&intern->storage, &pos); - } + ZEND_HASH_FOREACH_PTR(&intern->storage, element) { + ZVAL_COPY_VALUE(&intern->gcdata[i++], &element->obj); + ZVAL_COPY_VALUE(&intern->gcdata[i++], &element->inf); + } ZEND_HASH_FOREACH_END(); *table = intern->gcdata; *n = i;

« previous php.cvs (#85512) next »