Browse Source

MFB: Revert patch for bug #27782.

PEAR_1_4DEV
Ilia Alshanetsky 23 years ago
parent
commit
c85843aec1
  1. 3
      Zend/zend_builtin_functions.c
  2. 8
      ext/standard/array.c
  3. 32
      ext/standard/tests/array/bug27782.phpt

3
Zend/zend_builtin_functions.c

@ -368,9 +368,6 @@ ZEND_FUNCTION(each)
return;
}
if (zend_hash_get_current_data(target_hash, (void **) &entry_ptr)==FAILURE) {
if (!target_hash->pInternalPointer) {
zend_hash_internal_pointer_end(target_hash);
}
RETURN_FALSE;
}
array_init(return_value);

8
ext/standard/array.c

@ -740,10 +740,6 @@ PHP_FUNCTION(prev)
RETURN_FALSE;
}
zend_hash_move_backwards(target_hash);
if (!target_hash->pInternalPointer) {
zend_hash_internal_pointer_reset(target_hash);
RETURN_FALSE;
}
if (return_value_used) {
if (zend_hash_get_current_data(target_hash, (void **) &entry) == FAILURE) {
@ -772,10 +768,6 @@ PHP_FUNCTION(next)
RETURN_FALSE;
}
zend_hash_move_forward(target_hash);
if (!target_hash->pInternalPointer) {
zend_hash_internal_pointer_end(target_hash);
RETURN_FALSE;
}
if (return_value_used) {
if (zend_hash_get_current_data(target_hash, (void **) &entry) == FAILURE) {

32
ext/standard/tests/array/bug27782.phpt

@ -1,32 +0,0 @@
--TEST--
Bug #27782 (each(), next(), prev() mange array position)
--FILE--
<?php
$a = array("a", "b", "c");
reset($a);
while (next($a) !== false);
echo current($a) . "\n";
echo prev($a) . "\n";
reset($a);
while (list(,$foo) = each($a)) {
echo $foo . "\n";
}
echo current($a) . "\n";
while ($foo = prev($a)) {
echo $foo . "\n";
}
?>
--EXPECT--
c
b
a
b
c
c
b
a
Loading…
Cancel
Save