]> granicus.if.org Git - php/commitdiff
MFB: Revert patch for bug #27782.
authorIlia Alshanetsky <iliaa@php.net>
Thu, 1 Apr 2004 22:07:42 +0000 (22:07 +0000)
committerIlia Alshanetsky <iliaa@php.net>
Thu, 1 Apr 2004 22:07:42 +0000 (22:07 +0000)
Zend/zend_builtin_functions.c
ext/standard/array.c
ext/standard/tests/array/bug27782.phpt [deleted file]

index d15e6fb55a61b2153ebb51c51bc60202296c8bcd..42a82754dcc120cbebed54a08d07ff306bf85779 100644 (file)
@@ -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);
index 831357e5330ab30895095159a62d55107c7d452e..539848322e5990ae3918e4127d6370b3085939a5 100644 (file)
@@ -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) {
diff --git a/ext/standard/tests/array/bug27782.phpt b/ext/standard/tests/array/bug27782.phpt
deleted file mode 100644 (file)
index 2c8c675..0000000
+++ /dev/null
@@ -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