diff options
| author | Ondřej Surý <ondrej@sury.org> | 2011-02-16 10:13:02 +0100 |
|---|---|---|
| committer | Ondřej Surý <ondrej@sury.org> | 2011-02-16 10:13:02 +0100 |
| commit | fd5a0b31640419ca63d1ddeaffd6d3cf2a741814 (patch) | |
| tree | bfd17d84c5181d7b98d7d66f56573f4fc897e31c /ext/spl/spl_array.c | |
| parent | 01fcdff3849c3691d9aaeaab735846ab6d8895ca (diff) | |
| download | php-fd5a0b31640419ca63d1ddeaffd6d3cf2a741814.tar.gz | |
Imported Upstream version 5.3.5upstream/5.3.5
Diffstat (limited to 'ext/spl/spl_array.c')
| -rwxr-xr-x | ext/spl/spl_array.c | 52 |
1 files changed, 50 insertions, 2 deletions
diff --git a/ext/spl/spl_array.c b/ext/spl/spl_array.c index 313e5a3d7..640cf3409 100755 --- a/ext/spl/spl_array.c +++ b/ext/spl/spl_array.c @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: spl_array.c 299327 2010-05-13 08:09:54Z dmitry $ */ +/* $Id: spl_array.c 305335 2010-11-14 18:40:08Z felipe $ */ #ifdef HAVE_CONFIG_H # include "config.h" @@ -1143,6 +1143,10 @@ SPL_METHOD(Array, getIteratorClass) { zval *object = getThis(); spl_array_object *intern = (spl_array_object*)zend_object_store_get_object(object TSRMLS_CC); + + if (zend_parse_parameters_none() == FAILURE) { + return; + } RETURN_STRING(intern->ce_get_iterator->name, 1); } @@ -1155,6 +1159,10 @@ SPL_METHOD(Array, getFlags) zval *object = getThis(); spl_array_object *intern = (spl_array_object*)zend_object_store_get_object(object TSRMLS_CC); + if (zend_parse_parameters_none() == FAILURE) { + return; + } + RETURN_LONG(intern->ar_flags & ~SPL_ARRAY_INT_MASK); } /* }}} */ @@ -1202,6 +1210,10 @@ SPL_METHOD(Array, getIterator) spl_array_object *intern = (spl_array_object*)zend_object_store_get_object(object TSRMLS_CC); spl_array_object *iterator; HashTable *aht = spl_array_get_hash_table(intern, 0 TSRMLS_CC); + + if (zend_parse_parameters_none() == FAILURE) { + return; + } if (!aht) { php_error_docref(NULL TSRMLS_CC, E_NOTICE, "Array was modified outside object and is no longer an array"); @@ -1221,6 +1233,10 @@ SPL_METHOD(Array, rewind) { zval *object = getThis(); spl_array_object *intern = (spl_array_object*)zend_object_store_get_object(object TSRMLS_CC); + + if (zend_parse_parameters_none() == FAILURE) { + return; + } spl_array_rewind(intern TSRMLS_CC); } @@ -1316,6 +1332,10 @@ SPL_METHOD(Array, count) { long count; spl_array_object *intern = (spl_array_object*)zend_object_store_get_object(getThis() TSRMLS_CC); + + if (zend_parse_parameters_none() == FAILURE) { + return; + } spl_array_object_count_elements_helper(intern, &count TSRMLS_CC); @@ -1399,6 +1419,10 @@ SPL_METHOD(Array, current) spl_array_object *intern = (spl_array_object*)zend_object_store_get_object(object TSRMLS_CC); zval **entry; HashTable *aht = spl_array_get_hash_table(intern, 0 TSRMLS_CC); + + if (zend_parse_parameters_none() == FAILURE) { + return; + } if (!aht) { php_error_docref(NULL TSRMLS_CC, E_NOTICE, "Array was modified outside object and is no longer an array"); @@ -1421,6 +1445,10 @@ SPL_METHOD(Array, current) Return current array key */ SPL_METHOD(Array, key) { + if (zend_parse_parameters_none() == FAILURE) { + return; + } + spl_array_iterator_key(getThis(), return_value TSRMLS_CC); } /* }}} */ @@ -1463,6 +1491,10 @@ SPL_METHOD(Array, next) spl_array_object *intern = (spl_array_object*)zend_object_store_get_object(object TSRMLS_CC); HashTable *aht = spl_array_get_hash_table(intern, 0 TSRMLS_CC); + if (zend_parse_parameters_none() == FAILURE) { + return; + } + if (!aht) { php_error_docref(NULL TSRMLS_CC, E_NOTICE, "Array was modified outside object and is no longer an array"); return; @@ -1480,6 +1512,10 @@ SPL_METHOD(Array, valid) spl_array_object *intern = (spl_array_object*)zend_object_store_get_object(object TSRMLS_CC); HashTable *aht = spl_array_get_hash_table(intern, 0 TSRMLS_CC); + if (zend_parse_parameters_none() == FAILURE) { + return; + } + if (!aht) { php_error_docref(NULL TSRMLS_CC, E_NOTICE, "Array was modified outside object and is no longer an array"); return; @@ -1502,6 +1538,10 @@ SPL_METHOD(Array, hasChildren) spl_array_object *intern = (spl_array_object*)zend_object_store_get_object(object TSRMLS_CC); HashTable *aht = spl_array_get_hash_table(intern, 0 TSRMLS_CC); + if (zend_parse_parameters_none() == FAILURE) { + return; + } + if (!aht) { php_error_docref(NULL TSRMLS_CC, E_NOTICE, "Array was modified outside object and is no longer an array"); RETURN_FALSE; @@ -1527,6 +1567,10 @@ SPL_METHOD(Array, getChildren) zval *object = getThis(), **entry, *flags; spl_array_object *intern = (spl_array_object*)zend_object_store_get_object(object TSRMLS_CC); HashTable *aht = spl_array_get_hash_table(intern, 0 TSRMLS_CC); + + if (zend_parse_parameters_none() == FAILURE) { + return; + } if (!aht) { php_error_docref(NULL TSRMLS_CC, E_NOTICE, "Array was modified outside object and is no longer an array"); @@ -1563,7 +1607,7 @@ smart_str spl_array_serialize_helper(spl_array_object *intern, php_serialize_dat zval members, *pmembers; smart_str buf = {0}; zval *flags; - + if (!aht) { php_error_docref(NULL TSRMLS_CC, E_NOTICE, "Array was modified outside object and is no longer an array"); return buf; @@ -1603,6 +1647,10 @@ SPL_METHOD(Array, serialize) spl_array_object *intern = (spl_array_object*)zend_object_store_get_object(object TSRMLS_CC); int was_in_serialize = intern->serialize_data != NULL; smart_str buf; + + if (zend_parse_parameters_none() == FAILURE) { + return; + } if (!was_in_serialize) { intern->serialize_data = emalloc(sizeof(php_serialize_data_t)); |
