Merge branch 'PHP-5.5'

* PHP-5.5:
  Revert "EmptyIterator now implements Countable; fixes bug 60577"
This commit is contained in:
David Soria Parra 2013-09-18 15:06:58 +02:00
commit dc7015d4e4
3 changed files with 2 additions and 31 deletions

View File

@ -15,7 +15,7 @@
* @version 1.0
* @since PHP 5.1
*/
class EmptyIterator implements Iterator, Countable
class EmptyIterator implements Iterator
{
/** No operation.
* @return void
@ -57,15 +57,6 @@ class EmptyIterator implements Iterator, Countable
{
// nothing to do
}
/**
* @return int
*/
function count()
{
return 0;
}
}
?>
?>

View File

@ -3241,23 +3241,12 @@ SPL_METHOD(EmptyIterator, next)
}
} /* }}} */
/* {{{ proto int EmptyIterator::count()
Does nothing */
SPL_METHOD(EmptyIterator, count)
{
if (zend_parse_parameters_none() == FAILURE) {
return;
}
RETURN_LONG(0);
} /* }}} */
static const zend_function_entry spl_funcs_EmptyIterator[] = {
SPL_ME(EmptyIterator, rewind, arginfo_recursive_it_void, ZEND_ACC_PUBLIC)
SPL_ME(EmptyIterator, valid, arginfo_recursive_it_void, ZEND_ACC_PUBLIC)
SPL_ME(EmptyIterator, key, arginfo_recursive_it_void, ZEND_ACC_PUBLIC)
SPL_ME(EmptyIterator, current, arginfo_recursive_it_void, ZEND_ACC_PUBLIC)
SPL_ME(EmptyIterator, next, arginfo_recursive_it_void, ZEND_ACC_PUBLIC)
SPL_ME(EmptyIterator, count, arginfo_recursive_it_void, ZEND_ACC_PUBLIC)
PHP_FE_END
};
@ -3718,7 +3707,6 @@ PHP_MINIT_FUNCTION(spl_iterators)
REGISTER_SPL_STD_CLASS_EX(EmptyIterator, NULL, spl_funcs_EmptyIterator);
REGISTER_SPL_ITERATOR(EmptyIterator);
REGISTER_SPL_IMPLEMENTS(EmptyIterator, Countable);
REGISTER_SPL_SUB_CLASS_EX(RecursiveTreeIterator, RecursiveIteratorIterator, spl_RecursiveTreeIterator_new, spl_funcs_RecursiveTreeIterator);
REGISTER_SPL_CLASS_CONST_LONG(RecursiveTreeIterator, "BYPASS_CURRENT", RTIT_BYPASS_CURRENT);

View File

@ -1,8 +0,0 @@
--TEST--
count(new EmptyIterator) should return zero
--FILE--
<?php
$it = new EmptyIterator;
var_dump(count($it));
--EXPECT--
int(0)