]> granicus.if.org Git - php/commitdiff
Preserve internal pointer over print_r (fix #8289)
authorStanislav Malyshev <stas@php.net>
Mon, 18 Dec 2000 13:56:30 +0000 (13:56 +0000)
committerStanislav Malyshev <stas@php.net>
Mon, 18 Dec 2000 13:56:30 +0000 (13:56 +0000)
Zend/zend.c

index 45f351436b042c2f7f7bc5a4c3cc647ab1af4a3f..bed3d2547bc2b49de84f5817e935d5daa31267bb 100644 (file)
@@ -79,6 +79,7 @@ static void print_hash(HashTable *ht, int indent)
 {
        zval **tmp;
        char *string_key;
+       Bucket *save_internal_pointer;
        unsigned long num_key;
        int i;
 
@@ -87,6 +88,7 @@ static void print_hash(HashTable *ht, int indent)
        }
        ZEND_PUTS("(\n");
        indent += PRINT_ZVAL_INDENT;
+       save_internal_pointer = ht->pInternalPointer;
        zend_hash_internal_pointer_reset(ht);
        while (zend_hash_get_current_data(ht, (void **) &tmp) == SUCCESS) {
                for (i=0; i<indent; i++) {
@@ -112,6 +114,7 @@ static void print_hash(HashTable *ht, int indent)
                ZEND_PUTS(" ");
        }
        ZEND_PUTS(")\n");
+       ht->pInternalPointer = save_internal_pointer;
 }