1
0
mirror of https://github.com/php/php-src.git synced 2026-03-24 00:02:20 +01:00

ext/spl: convert zend_parse_parameters_none() to fast ZPP (#20441)

This commit is contained in:
Alexandre Daubois
2025-11-11 00:31:58 +01:00
committed by GitHub
parent 5185d46ccc
commit da238e7a11
7 changed files with 115 additions and 345 deletions

View File

@@ -216,9 +216,7 @@ PHP_FUNCTION(class_uses)
/* {{{ Return an array containing the names of all classes and interfaces defined in SPL */
PHP_FUNCTION(spl_classes)
{
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
array_init(return_value);
@@ -619,9 +617,7 @@ PHP_FUNCTION(spl_autoload_functions)
{
autoload_func_info *alfi;
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
array_init(return_value);
if (spl_autoload_functions) {

View File

@@ -753,9 +753,7 @@ PHP_METHOD(ArrayObject, getArrayCopy)
zval *object = ZEND_THIS;
spl_array_object *intern = Z_SPLARRAY_P(object);
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
RETURN_ARR(zend_array_dup(spl_array_get_hash_table(intern)));
} /* }}} */
@@ -1086,9 +1084,7 @@ PHP_METHOD(ArrayObject, getIteratorClass)
zval *object = ZEND_THIS;
spl_array_object *intern = Z_SPLARRAY_P(object);
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
zend_string_addref(intern->ce_get_iterator->name);
RETURN_STR(intern->ce_get_iterator->name);
@@ -1101,9 +1097,7 @@ PHP_METHOD(ArrayObject, getFlags)
zval *object = ZEND_THIS;
spl_array_object *intern = Z_SPLARRAY_P(object);
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
RETURN_LONG(intern->ar_flags & ~SPL_ARRAY_INT_MASK);
}
@@ -1150,9 +1144,7 @@ PHP_METHOD(ArrayObject, getIterator)
zval *object = ZEND_THIS;
spl_array_object *intern = Z_SPLARRAY_P(object);
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
RETURN_OBJ(spl_array_object_new_ex(intern->ce_get_iterator, Z_OBJ_P(object), 0));
}
@@ -1203,9 +1195,7 @@ PHP_METHOD(ArrayObject, count)
{
spl_array_object *intern = Z_SPLARRAY_P(ZEND_THIS);
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
RETURN_LONG(spl_array_object_count_elements_helper(intern));
} /* }}} */
@@ -1305,9 +1295,7 @@ PHP_METHOD(ArrayObject, serialize)
php_serialize_data_t var_hash;
smart_str buf = {0};
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
PHP_VAR_SERIALIZE_INIT(var_hash);
@@ -1453,9 +1441,7 @@ PHP_METHOD(ArrayObject, __serialize)
spl_array_object *intern = Z_SPLARRAY_P(ZEND_THIS);
zval tmp;
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
array_init(return_value);
@@ -1559,9 +1545,7 @@ PHP_METHOD(ArrayObject, __unserialize)
/* {{{ */
PHP_METHOD(ArrayObject, __debugInfo)
{
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
RETURN_ARR(spl_array_get_debug_info(Z_OBJ_P(ZEND_THIS)));
} /* }}} */
@@ -1739,9 +1723,7 @@ PHP_METHOD(ArrayIterator, rewind)
zval *object = ZEND_THIS;
spl_array_object *intern = Z_SPLARRAY_P(object);
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
spl_array_rewind(intern);
}
@@ -1783,9 +1765,7 @@ PHP_METHOD(ArrayIterator, current)
zval *entry;
HashTable *aht = spl_array_get_hash_table(intern);
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
if ((entry = zend_hash_get_current_data_ex(aht, spl_array_get_pos_ptr(aht, intern))) == NULL) {
RETURN_NULL();
@@ -1812,9 +1792,7 @@ void spl_array_iterator_key(zval *object, zval *return_value) /* {{{ */
/* {{{ Return current array key */
PHP_METHOD(ArrayIterator, key)
{
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
spl_array_iterator_key(ZEND_THIS, return_value);
} /* }}} */
@@ -1826,9 +1804,7 @@ PHP_METHOD(ArrayIterator, next)
spl_array_object *intern = Z_SPLARRAY_P(object);
HashTable *aht = spl_array_get_hash_table(intern);
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
spl_array_next_ex(intern, aht);
}
@@ -1841,9 +1817,7 @@ PHP_METHOD(ArrayIterator, valid)
spl_array_object *intern = Z_SPLARRAY_P(object);
HashTable *aht = spl_array_get_hash_table(intern);
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
RETURN_BOOL(zend_hash_has_more_elements_ex(aht, spl_array_get_pos_ptr(aht, intern)) == SUCCESS);
}
@@ -1858,9 +1832,7 @@ PHP_METHOD(RecursiveArrayIterator, hasChildren)
spl_array_object *intern = Z_SPLARRAY_P(object);
HashTable *aht = spl_array_get_hash_table(intern);
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
if ((entry = zend_hash_get_current_data_ex(aht, spl_array_get_pos_ptr(aht, intern))) == NULL) {
RETURN_FALSE;
@@ -1898,9 +1870,7 @@ PHP_METHOD(RecursiveArrayIterator, getChildren)
spl_array_object *intern = Z_SPLARRAY_P(object);
HashTable *aht = spl_array_get_hash_table(intern);
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
if ((entry = zend_hash_get_current_data_ex(aht, spl_array_get_pos_ptr(aht, intern))) == NULL) {
RETURN_NULL();

View File

@@ -737,9 +737,7 @@ PHP_METHOD(DirectoryIterator, rewind)
{
spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS));
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
CHECK_DIRECTORY_ITERATOR_IS_INITIALIZED(intern);
intern->u.dir.index = 0;
@@ -753,9 +751,7 @@ PHP_METHOD(DirectoryIterator, key)
{
spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS));
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
CHECK_DIRECTORY_ITERATOR_IS_INITIALIZED(intern);
RETURN_LONG(intern->u.dir.index);
@@ -765,9 +761,7 @@ PHP_METHOD(DirectoryIterator, key)
/* {{{ Return this (needed for Iterator interface) */
PHP_METHOD(DirectoryIterator, current)
{
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
CHECK_DIRECTORY_ITERATOR_IS_INITIALIZED(spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)));
RETURN_OBJ_COPY(Z_OBJ_P(ZEND_THIS));
@@ -780,9 +774,7 @@ PHP_METHOD(DirectoryIterator, next)
spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS));
bool skip_dots = SPL_HAS_FLAG(intern->flags, SPL_FILE_DIR_SKIPDOTS);
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
CHECK_DIRECTORY_ITERATOR_IS_INITIALIZED(intern);
intern->u.dir.index++;
@@ -831,9 +823,7 @@ PHP_METHOD(DirectoryIterator, valid)
{
spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS));
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
CHECK_DIRECTORY_ITERATOR_IS_INITIALIZED(intern);
RETURN_BOOL(intern->u.dir.entry.d_name[0] != '\0');
@@ -846,9 +836,7 @@ PHP_METHOD(SplFileInfo, getPath)
spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS));
zend_string *path;
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
path = spl_filesystem_object_get_path(intern);
if (path) {
@@ -865,9 +853,7 @@ PHP_METHOD(SplFileInfo, getFilename)
spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS));
zend_string *path;
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
if (!intern->file_name) {
zend_throw_error(NULL, "Object not initialized");
@@ -894,9 +880,7 @@ PHP_METHOD(DirectoryIterator, getFilename)
{
spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS));
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
CHECK_DIRECTORY_ITERATOR_IS_INITIALIZED(intern);
RETURN_STRING(intern->u.dir.entry.d_name);
@@ -914,9 +898,7 @@ PHP_METHOD(SplFileInfo, getExtension)
size_t idx;
zend_string *ret;
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
if (!intern->file_name) {
zend_throw_error(NULL, "Object not initialized");
@@ -959,9 +941,7 @@ PHP_METHOD(DirectoryIterator, getExtension)
size_t idx;
zend_string *fname;
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
CHECK_DIRECTORY_ITERATOR_IS_INITIALIZED(intern);
fname = php_basename(intern->u.dir.entry.d_name, strlen(intern->u.dir.entry.d_name), NULL, 0);
@@ -1039,9 +1019,7 @@ PHP_METHOD(SplFileInfo, getPathname)
spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS));
zend_string *path;
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
path = spl_filesystem_object_get_pathname(intern);
if (path) {
RETURN_STR_COPY(path);
@@ -1056,9 +1034,7 @@ PHP_METHOD(FilesystemIterator, key)
{
spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS));
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
if (SPL_FILE_DIR_KEY(intern, SPL_FILE_DIR_KEY_AS_FILENAME)) {
RETURN_STRING(intern->u.dir.entry.d_name);
@@ -1076,9 +1052,7 @@ PHP_METHOD(FilesystemIterator, current)
{
spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS));
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
if (SPL_FILE_DIR_CURRENT(intern, SPL_FILE_DIR_CURRENT_AS_PATHNAME)) {
if (spl_filesystem_object_get_file_name(intern) == FAILURE) {
@@ -1101,9 +1075,7 @@ PHP_METHOD(DirectoryIterator, isDot)
{
spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS));
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
CHECK_DIRECTORY_ITERATOR_IS_INITIALIZED(intern);
RETURN_BOOL(spl_filesystem_is_dot(intern->u.dir.entry.d_name));
@@ -1137,9 +1109,7 @@ PHP_METHOD(SplFileInfo, func_name) \
{ \
spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS)); \
zend_error_handling error_handling; \
if (zend_parse_parameters_none() == FAILURE) { \
RETURN_THROWS(); \
} \
ZEND_PARSE_PARAMETERS_NONE(); \
if (spl_filesystem_object_get_file_name(intern) == FAILURE) { \
RETURN_THROWS(); \
} \
@@ -1216,9 +1186,7 @@ PHP_METHOD(SplFileInfo, getLinkTarget)
ssize_t ret;
char buff[MAXPATHLEN];
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
if (intern->file_name == NULL) {
if (spl_filesystem_object_get_file_name(intern) == FAILURE) {
@@ -1263,9 +1231,7 @@ PHP_METHOD(SplFileInfo, getRealPath)
char buff[MAXPATHLEN];
char *filename;
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
if (intern->type == SPL_FS_DIR && !intern->file_name && intern->u.dir.entry.d_name[0]) {
if (spl_filesystem_object_get_file_name(intern) == FAILURE) {
@@ -1375,9 +1341,7 @@ PHP_METHOD(SplFileInfo, getPathInfo)
/* {{{ */
PHP_METHOD(SplFileInfo, __debugInfo)
{
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
RETURN_ARR(spl_filesystem_object_get_debug_info(Z_OBJ_P(ZEND_THIS)));
} /* }}} */
@@ -1385,9 +1349,7 @@ PHP_METHOD(SplFileInfo, __debugInfo)
/* {{{ */
PHP_METHOD(SplFileInfo, _bad_state_ex)
{
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
zend_throw_error(NULL, "The parent constructor was not called: the object is in an invalid state");
RETURN_THROWS();
}
@@ -1406,9 +1368,7 @@ PHP_METHOD(FilesystemIterator, rewind)
spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS));
bool skip_dots = SPL_HAS_FLAG(intern->flags, SPL_FILE_DIR_SKIPDOTS);
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
intern->u.dir.index = 0;
if (intern->u.dir.dirp) {
@@ -1425,9 +1385,7 @@ PHP_METHOD(FilesystemIterator, getFlags)
{
spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS));
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
RETURN_LONG(intern->flags & (SPL_FILE_DIR_KEY_MODE_MASK | SPL_FILE_DIR_CURRENT_MODE_MASK | SPL_FILE_DIR_OTHERS_MASK));
} /* }}} */
@@ -1491,9 +1449,7 @@ PHP_METHOD(RecursiveDirectoryIterator, getChildren)
spl_filesystem_object *subdir;
char slash = SPL_HAS_FLAG(intern->flags, SPL_FILE_DIR_UNIXPATHS) ? '/' : DEFAULT_SLASH;
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
if (spl_filesystem_object_get_file_name(intern) == FAILURE) {
RETURN_THROWS();
@@ -1534,9 +1490,7 @@ PHP_METHOD(RecursiveDirectoryIterator, getSubPath)
{
spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS));
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
if (intern->u.dir.sub_path) {
RETURN_STR_COPY(intern->u.dir.sub_path);
@@ -1552,9 +1506,7 @@ PHP_METHOD(RecursiveDirectoryIterator, getSubPathname)
spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS));
char slash = SPL_HAS_FLAG(intern->flags, SPL_FILE_DIR_UNIXPATHS) ? '/' : DEFAULT_SLASH;
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
if (intern->u.dir.sub_path) {
RETURN_NEW_STR(strpprintf(0, "%s%c%s", ZSTR_VAL(intern->u.dir.sub_path), slash, intern->u.dir.entry.d_name));
@@ -1583,9 +1535,7 @@ PHP_METHOD(GlobIterator, count)
{
spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS));
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
if (EXPECTED(spl_intern_is_glob(intern))) {
RETURN_LONG(php_glob_stream_get_count(intern->u.dir.dirp, NULL));
@@ -2100,9 +2050,7 @@ PHP_METHOD(SplFileObject, rewind)
{
spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS));
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
spl_filesystem_file_rewind(ZEND_THIS, intern);
} /* }}} */
@@ -2112,9 +2060,7 @@ PHP_METHOD(SplFileObject, eof)
{
spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS));
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
CHECK_SPL_FILE_OBJECT_IS_INITIALIZED(intern);
@@ -2126,9 +2072,7 @@ PHP_METHOD(SplFileObject, valid)
{
spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS));
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
if (SPL_HAS_FLAG(intern->flags, SPL_FILE_OBJECT_READ_AHEAD)) {
RETURN_BOOL(intern->u.file.current_line || !Z_ISUNDEF(intern->u.file.current_zval));
@@ -2144,9 +2088,7 @@ PHP_METHOD(SplFileObject, fgets)
{
spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS));
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
CHECK_SPL_FILE_OBJECT_IS_INITIALIZED(intern);
@@ -2161,9 +2103,7 @@ PHP_METHOD(SplFileObject, current)
{
spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS));
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
CHECK_SPL_FILE_OBJECT_IS_INITIALIZED(intern);
@@ -2185,9 +2125,7 @@ PHP_METHOD(SplFileObject, key)
{
spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS));
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
/* Do not read the next line to support correct counting with fgetc()
if (!intern->u.file.current_line) {
@@ -2201,9 +2139,7 @@ PHP_METHOD(SplFileObject, next)
{
spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS));
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
spl_filesystem_file_free_line(intern);
if (SPL_HAS_FLAG(intern->flags, SPL_FILE_OBJECT_READ_AHEAD)) {
@@ -2227,9 +2163,7 @@ PHP_METHOD(SplFileObject, getFlags)
{
spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS));
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
RETURN_LONG(intern->flags & SPL_FILE_OBJECT_MASK);
} /* }}} */
@@ -2258,9 +2192,7 @@ PHP_METHOD(SplFileObject, getMaxLineLen)
{
spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS));
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
RETURN_LONG((zend_long)intern->u.file.max_line_len);
} /* }}} */
@@ -2268,9 +2200,7 @@ PHP_METHOD(SplFileObject, getMaxLineLen)
/* {{{ Return false */
PHP_METHOD(SplFileObject, hasChildren)
{
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
RETURN_FALSE;
} /* }}} */
@@ -2278,9 +2208,7 @@ PHP_METHOD(SplFileObject, hasChildren)
/* {{{ Read NULL */
PHP_METHOD(SplFileObject, getChildren)
{
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
/* return NULL */
} /* }}} */
@@ -2431,9 +2359,7 @@ PHP_METHOD(SplFileObject, getCsvControl)
spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS));
char delimiter[2], enclosure[2], escape[2];
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
array_init(return_value);
@@ -2476,9 +2402,7 @@ PHP_METHOD(SplFileObject, fflush)
{
spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS));
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
CHECK_SPL_FILE_OBJECT_IS_INITIALIZED(intern);
@@ -2491,9 +2415,7 @@ PHP_METHOD(SplFileObject, ftell)
spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS));
zend_long ret;
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
CHECK_SPL_FILE_OBJECT_IS_INITIALIZED(intern);
@@ -2527,9 +2449,7 @@ PHP_METHOD(SplFileObject, fgetc)
{
spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS));
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
CHECK_SPL_FILE_OBJECT_IS_INITIALIZED(intern);
@@ -2552,9 +2472,7 @@ PHP_METHOD(SplFileObject, fpassthru)
{
spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS));
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
CHECK_SPL_FILE_OBJECT_IS_INITIALIZED(intern);
@@ -2654,9 +2572,7 @@ PHP_METHOD(SplFileObject, fstat)
{
spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS));
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
CHECK_SPL_FILE_OBJECT_IS_INITIALIZED(intern);
@@ -2722,9 +2638,7 @@ PHP_METHOD(SplFileObject, seek)
PHP_METHOD(SplFileObject, __toString)
{
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
spl_filesystem_object *intern = spl_filesystem_from_obj(Z_OBJ_P(ZEND_THIS));

View File

@@ -511,9 +511,7 @@ PHP_METHOD(SplDoublyLinkedList, pop)
{
spl_dllist_object *intern;
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
intern = Z_SPLDLLIST_P(ZEND_THIS);
spl_ptr_llist_pop(intern->llist, return_value);
@@ -530,9 +528,7 @@ PHP_METHOD(SplDoublyLinkedList, shift)
{
spl_dllist_object *intern;
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
intern = Z_SPLDLLIST_P(ZEND_THIS);
spl_ptr_llist_shift(intern->llist, return_value);
@@ -550,9 +546,7 @@ PHP_METHOD(SplDoublyLinkedList, top)
zval *value;
spl_dllist_object *intern;
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
intern = Z_SPLDLLIST_P(ZEND_THIS);
value = spl_ptr_llist_last(intern->llist);
@@ -572,9 +566,7 @@ PHP_METHOD(SplDoublyLinkedList, bottom)
zval *value;
spl_dllist_object *intern;
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
intern = Z_SPLDLLIST_P(ZEND_THIS);
value = spl_ptr_llist_first(intern->llist);
@@ -594,9 +586,7 @@ PHP_METHOD(SplDoublyLinkedList, count)
zend_long count;
spl_dllist_object *intern = Z_SPLDLLIST_P(ZEND_THIS);
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
count = spl_ptr_llist_count(intern->llist);
RETURN_LONG(count);
@@ -608,9 +598,7 @@ PHP_METHOD(SplDoublyLinkedList, isEmpty)
{
zend_long count;
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
spl_dllist_object_count_elements(Z_OBJ_P(ZEND_THIS), &count);
RETURN_BOOL(count == 0);
@@ -646,9 +634,7 @@ PHP_METHOD(SplDoublyLinkedList, getIteratorMode)
{
spl_dllist_object *intern;
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
intern = Z_SPLDLLIST_P(ZEND_THIS);
@@ -914,9 +900,7 @@ PHP_METHOD(SplDoublyLinkedList, key)
{
spl_dllist_object *intern = Z_SPLDLLIST_P(ZEND_THIS);
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
RETURN_LONG(intern->traverse_position);
}
@@ -927,9 +911,7 @@ PHP_METHOD(SplDoublyLinkedList, prev)
{
spl_dllist_object *intern = Z_SPLDLLIST_P(ZEND_THIS);
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
spl_dllist_it_helper_move_forward(&intern->traverse_pointer, &intern->traverse_position, intern->llist, intern->flags ^ SPL_DLLIST_IT_LIFO);
}
@@ -940,9 +922,7 @@ PHP_METHOD(SplDoublyLinkedList, next)
{
spl_dllist_object *intern = Z_SPLDLLIST_P(ZEND_THIS);
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
spl_dllist_it_helper_move_forward(&intern->traverse_pointer, &intern->traverse_position, intern->llist, intern->flags);
}
@@ -953,9 +933,7 @@ PHP_METHOD(SplDoublyLinkedList, valid)
{
spl_dllist_object *intern = Z_SPLDLLIST_P(ZEND_THIS);
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
RETURN_BOOL(intern->traverse_pointer != NULL);
}
@@ -966,9 +944,7 @@ PHP_METHOD(SplDoublyLinkedList, rewind)
{
spl_dllist_object *intern = Z_SPLDLLIST_P(ZEND_THIS);
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
spl_dllist_it_helper_rewind(&intern->traverse_pointer, &intern->traverse_position, intern->llist, intern->flags);
}
@@ -980,9 +956,7 @@ PHP_METHOD(SplDoublyLinkedList, current)
spl_dllist_object *intern = Z_SPLDLLIST_P(ZEND_THIS);
spl_ptr_llist_element *element = intern->traverse_pointer;
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
if (element == NULL || Z_ISUNDEF(element->data)) {
RETURN_NULL();
@@ -1001,9 +975,7 @@ PHP_METHOD(SplDoublyLinkedList, serialize)
zval flags;
php_serialize_data_t var_hash;
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
PHP_VAR_SERIALIZE_INIT(var_hash);
@@ -1099,9 +1071,7 @@ PHP_METHOD(SplDoublyLinkedList, __serialize)
spl_ptr_llist_element *current = intern->llist->head;
zval tmp;
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
array_init(return_value);
@@ -1205,9 +1175,7 @@ PHP_METHOD(SplDoublyLinkedList, add)
/* {{{ */
PHP_METHOD(SplDoublyLinkedList, __debugInfo)
{
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
RETURN_ARR(spl_dllist_object_get_debug_info(Z_OBJ_P(ZEND_THIS)));
} /* }}} */

View File

@@ -562,9 +562,7 @@ PHP_METHOD(SplFixedArray, __wakeup)
HashTable *intern_ht = zend_std_get_properties(Z_OBJ_P(ZEND_THIS));
zval *data;
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
if (intern->array.size == 0) {
int index = 0;
@@ -589,9 +587,7 @@ PHP_METHOD(SplFixedArray, __serialize)
zval *current;
zend_string *key;
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
HashTable *ht = zend_std_get_properties(&intern->std);
uint32_t num_properties = zend_hash_num_elements(ht);
@@ -666,9 +662,7 @@ PHP_METHOD(SplFixedArray, count)
zval *object = ZEND_THIS;
spl_fixedarray_object *intern;
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
intern = Z_SPLFIXEDARRAY_P(object);
RETURN_LONG(intern->array.size);
@@ -678,9 +672,7 @@ PHP_METHOD(SplFixedArray, toArray)
{
spl_fixedarray_object *intern;
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
intern = Z_SPLFIXEDARRAY_P(ZEND_THIS);
@@ -774,9 +766,7 @@ PHP_METHOD(SplFixedArray, getSize)
zval *object = ZEND_THIS;
spl_fixedarray_object *intern;
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
intern = Z_SPLFIXEDARRAY_P(object);
RETURN_LONG(intern->array.size);
@@ -871,9 +861,7 @@ PHP_METHOD(SplFixedArray, offsetUnset)
/* Create a new iterator from a SplFixedArray instance. */
PHP_METHOD(SplFixedArray, getIterator)
{
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
zend_create_internal_iterator_zval(return_value, ZEND_THIS);
}

View File

@@ -575,9 +575,7 @@ PHP_METHOD(SplHeap, count)
zend_long count;
spl_heap_object *intern = Z_SPLHEAP_P(ZEND_THIS);
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
count = spl_ptr_heap_count(intern->heap);
RETURN_LONG(count);
@@ -589,9 +587,7 @@ PHP_METHOD(SplHeap, isEmpty)
{
spl_heap_object *intern = Z_SPLHEAP_P(ZEND_THIS);
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
RETURN_BOOL(spl_ptr_heap_count(intern->heap) == 0);
}
@@ -640,9 +636,7 @@ PHP_METHOD(SplHeap, extract)
{
spl_heap_object *intern;
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
intern = Z_SPLHEAP_P(ZEND_THIS);
@@ -705,9 +699,7 @@ PHP_METHOD(SplPriorityQueue, extract)
spl_pqueue_elem elem;
spl_heap_object *intern;
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
intern = Z_SPLHEAP_P(ZEND_THIS);
@@ -731,9 +723,7 @@ PHP_METHOD(SplPriorityQueue, top)
spl_heap_object *intern;
spl_pqueue_elem *elem;
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
intern = Z_SPLHEAP_P(ZEND_THIS);
@@ -780,9 +770,7 @@ PHP_METHOD(SplPriorityQueue, getExtractFlags)
{
spl_heap_object *intern;
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
intern = Z_SPLHEAP_P(ZEND_THIS);
@@ -795,9 +783,7 @@ PHP_METHOD(SplHeap, recoverFromCorruption)
{
spl_heap_object *intern;
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
intern = Z_SPLHEAP_P(ZEND_THIS);
@@ -812,9 +798,7 @@ PHP_METHOD(SplHeap, isCorrupted)
{
spl_heap_object *intern;
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
intern = Z_SPLHEAP_P(ZEND_THIS);
@@ -841,9 +825,7 @@ PHP_METHOD(SplHeap, top)
zval *value;
spl_heap_object *intern;
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
intern = Z_SPLHEAP_P(ZEND_THIS);
@@ -970,9 +952,7 @@ PHP_METHOD(SplHeap, key)
{
spl_heap_object *intern = Z_SPLHEAP_P(ZEND_THIS);
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
RETURN_LONG(intern->heap->count - 1);
}
@@ -983,9 +963,7 @@ PHP_METHOD(SplHeap, next)
{
spl_heap_object *intern = Z_SPLHEAP_P(ZEND_THIS);
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
spl_ptr_heap_delete_top(intern->heap, NULL, ZEND_THIS);
}
@@ -996,9 +974,7 @@ PHP_METHOD(SplHeap, valid)
{
spl_heap_object *intern = Z_SPLHEAP_P(ZEND_THIS);
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
RETURN_BOOL(intern->heap->count != 0);
}
@@ -1007,9 +983,7 @@ PHP_METHOD(SplHeap, valid)
/* {{{ Rewind the datastructure back to the start */
PHP_METHOD(SplHeap, rewind)
{
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
/* do nothing, the iterator always points to the top element */
}
/* }}} */
@@ -1019,9 +993,7 @@ PHP_METHOD(SplHeap, current)
{
spl_heap_object *intern = Z_SPLHEAP_P(ZEND_THIS);
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
if (!intern->heap->count) {
RETURN_NULL();
@@ -1037,9 +1009,7 @@ PHP_METHOD(SplPriorityQueue, current)
{
spl_heap_object *intern = Z_SPLHEAP_P(ZEND_THIS);
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
if (!intern->heap->count) {
RETURN_NULL();
@@ -1053,9 +1023,7 @@ PHP_METHOD(SplPriorityQueue, current)
/* {{{ */
PHP_METHOD(SplHeap, __debugInfo)
{
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
RETURN_ARR(spl_heap_object_get_debug_info(spl_ce_SplHeap, Z_OBJ_P(ZEND_THIS)));
} /* }}} */
@@ -1063,9 +1031,7 @@ PHP_METHOD(SplHeap, __debugInfo)
/* {{{ */
PHP_METHOD(SplPriorityQueue, __debugInfo)
{
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
RETURN_ARR(spl_heap_object_get_debug_info(spl_ce_SplPriorityQueue, Z_OBJ_P(ZEND_THIS)));
} /* }}} */

View File

@@ -673,9 +673,7 @@ PHP_METHOD(SplObjectStorage, rewind)
{
spl_SplObjectStorage *intern = Z_SPLOBJSTORAGE_P(ZEND_THIS);
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
zend_hash_internal_pointer_reset_ex(&intern->storage, &intern->pos);
intern->index = 0;
@@ -686,9 +684,7 @@ PHP_METHOD(SplObjectStorage, valid)
{
spl_SplObjectStorage *intern = Z_SPLOBJSTORAGE_P(ZEND_THIS);
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
RETURN_BOOL(zend_hash_has_more_elements_ex(&intern->storage, &intern->pos) == SUCCESS);
} /* }}} */
@@ -698,9 +694,7 @@ PHP_METHOD(SplObjectStorage, key)
{
spl_SplObjectStorage *intern = Z_SPLOBJSTORAGE_P(ZEND_THIS);
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
RETURN_LONG(intern->index);
} /* }}} */
@@ -711,9 +705,7 @@ PHP_METHOD(SplObjectStorage, current)
spl_SplObjectStorageElement *element;
spl_SplObjectStorage *intern = Z_SPLOBJSTORAGE_P(ZEND_THIS);
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
if ((element = zend_hash_get_current_data_ptr_ex(&intern->storage, &intern->pos)) == NULL) {
zend_throw_exception(spl_ce_RuntimeException, "Called current() on invalid iterator", 0);
@@ -728,9 +720,7 @@ PHP_METHOD(SplObjectStorage, getInfo)
spl_SplObjectStorageElement *element;
spl_SplObjectStorage *intern = Z_SPLOBJSTORAGE_P(ZEND_THIS);
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
if ((element = zend_hash_get_current_data_ptr_ex(&intern->storage, &intern->pos)) == NULL) {
RETURN_NULL();
@@ -763,9 +753,7 @@ PHP_METHOD(SplObjectStorage, next)
{
spl_SplObjectStorage *intern = Z_SPLOBJSTORAGE_P(ZEND_THIS);
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
zend_hash_move_forward_ex(&intern->storage, &intern->pos);
intern->index++;
@@ -825,9 +813,7 @@ PHP_METHOD(SplObjectStorage, serialize)
php_serialize_data_t var_hash;
smart_str buf = {0};
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
PHP_VAR_SERIALIZE_INIT(var_hash);
@@ -999,9 +985,7 @@ PHP_METHOD(SplObjectStorage, __serialize)
spl_SplObjectStorageElement *elem;
zval tmp;
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
array_init(return_value);
@@ -1069,9 +1053,7 @@ PHP_METHOD(SplObjectStorage, __unserialize)
/* {{{ */
PHP_METHOD(SplObjectStorage, __debugInfo)
{
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
RETURN_ARR(spl_object_storage_debug_info(Z_OBJ_P(ZEND_THIS)));
}
@@ -1100,9 +1082,7 @@ PHP_METHOD(MultipleIterator, getFlags)
{
spl_SplObjectStorage *intern = Z_SPLOBJSTORAGE_P(ZEND_THIS);
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
RETURN_LONG(intern->flags);
}
/* }}} */
@@ -1193,9 +1173,7 @@ PHP_METHOD(MultipleIterator, countIterators)
{
spl_SplObjectStorage *intern = Z_SPLOBJSTORAGE_P(ZEND_THIS);
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
RETURN_LONG(zend_hash_num_elements(&intern->storage));
}
@@ -1208,9 +1186,7 @@ PHP_METHOD(MultipleIterator, rewind)
intern = Z_SPLOBJSTORAGE_P(ZEND_THIS);
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
zend_hash_internal_pointer_reset_ex(&intern->storage, &intern->pos);
while ((element = zend_hash_get_current_data_ptr_ex(&intern->storage, &intern->pos)) != NULL && !EG(exception)) {
@@ -1229,9 +1205,7 @@ PHP_METHOD(MultipleIterator, next)
intern = Z_SPLOBJSTORAGE_P(ZEND_THIS);
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
zend_hash_internal_pointer_reset_ex(&intern->storage, &intern->pos);
while ((element = zend_hash_get_current_data_ptr_ex(&intern->storage, &intern->pos)) != NULL && !EG(exception)) {
@@ -1252,9 +1226,7 @@ PHP_METHOD(MultipleIterator, valid)
intern = Z_SPLOBJSTORAGE_P(ZEND_THIS);
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
if (!zend_hash_num_elements(&intern->storage)) {
RETURN_FALSE;
@@ -1361,9 +1333,7 @@ PHP_METHOD(MultipleIterator, current)
spl_SplObjectStorage *intern;
intern = Z_SPLOBJSTORAGE_P(ZEND_THIS);
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
spl_multiple_iterator_get_all(intern, SPL_MULTIPLE_ITERATOR_GET_ALL_CURRENT, return_value);
}
@@ -1375,9 +1345,7 @@ PHP_METHOD(MultipleIterator, key)
spl_SplObjectStorage *intern;
intern = Z_SPLOBJSTORAGE_P(ZEND_THIS);
if (zend_parse_parameters_none() == FAILURE) {
RETURN_THROWS();
}
ZEND_PARSE_PARAMETERS_NONE();
spl_multiple_iterator_get_all(intern, SPL_MULTIPLE_ITERATOR_GET_ALL_KEY, return_value);
}