summaryrefslogtreecommitdiff
path: root/ext/spl/spl_array.c
diff options
context:
space:
mode:
authorOndřej Surý <ondrej@sury.org>2011-02-16 10:13:02 +0100
committerOndřej Surý <ondrej@sury.org>2011-02-16 10:13:02 +0100
commitfd5a0b31640419ca63d1ddeaffd6d3cf2a741814 (patch)
treebfd17d84c5181d7b98d7d66f56573f4fc897e31c /ext/spl/spl_array.c
parent01fcdff3849c3691d9aaeaab735846ab6d8895ca (diff)
downloadphp-fd5a0b31640419ca63d1ddeaffd6d3cf2a741814.tar.gz
Imported Upstream version 5.3.5upstream/5.3.5
Diffstat (limited to 'ext/spl/spl_array.c')
-rwxr-xr-xext/spl/spl_array.c52
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));