helly           Wed Nov 26 18:28:36 2003 EDT

  Added files:                 
    /spl/tests  array_object.phpt 

  Removed files:               
    /spl/tests  array.phpt array_access_001.phpt array_access_002.phpt 
                array_read.phpt foreach.phpt foreach_break.phpt 
                foreach_continue.phpt foreach_non_spl.phpt forward.phpt 
                sequence.phpt 

  Modified files:              
    /spl        php_spl.c php_spl.h spl_array.c spl_engine.h 
    /spl/tests  array_iterator.phpt 
  Log:
  Cleanup
  
  
Index: spl/php_spl.c
diff -u spl/php_spl.c:1.19 spl/php_spl.c:1.20
--- spl/php_spl.c:1.19  Wed Nov 26 03:18:26 2003
+++ spl/php_spl.c       Wed Nov 26 18:28:34 2003
@@ -62,11 +62,6 @@
 };
 /* }}} */
 
-zend_class_entry *spl_ce_recursive_it;
-zend_class_entry *spl_ce_recursive_it_it;
-zend_class_entry *spl_ce_array_read;
-zend_class_entry *spl_ce_array_access;
-
 /* {{{ spl_functions_none
  */
 function_entry spl_functions_none[] = {
@@ -117,22 +112,6 @@
 {                      
        SPL_DEBUG(fprintf(stderr, "%s\n", "Shutting down SPL");)
 
-#ifdef SPL_FOREACH
-       ZEND_EXECUTE_HOOK_RESTORE(ZEND_FE_RESET);
-       ZEND_EXECUTE_HOOK_RESTORE(ZEND_FE_FETCH);
-       ZEND_EXECUTE_HOOK_RESTORE(ZEND_SWITCH_FREE);
-#endif
-
-#if defined(SPL_ARRAY_READ) | defined(SPL_ARRAY_WRITE)
-       ZEND_EXECUTE_HOOK_RESTORE(ZEND_FETCH_DIM_R);
-       ZEND_EXECUTE_HOOK_RESTORE(ZEND_FETCH_DIM_W);
-       ZEND_EXECUTE_HOOK_RESTORE(ZEND_FETCH_DIM_RW); 
-#endif
-
-#ifdef SPL_ARRAY_WRITE
-       ZEND_EXECUTE_HOOK_RESTORE(ZEND_ASSIGN_DIM);
-#endif /* SPL_ARRAY_WRITE */
-
        return SUCCESS;
 }
 /* }}} */
@@ -141,30 +120,8 @@
  */
 PHP_MINFO_FUNCTION(spl)
 {
-#ifdef SPL_FOREACH
-       char *foreach = "beta";
-#else /* SPL_ARRAY_WRITE */
-       char *foreach = "beta, not hooked";
-#endif
-#ifdef SPL_ARRAY_READ
-       char *array_read = "beta";
-#else /* SPL_ARRAY_WRITE */
-       char *array_read = "beta, not hooked";
-#endif
-#ifdef SPL_ARRAY_WRITE
-       char *array_write = "beta";
-#else /* SPL_ARRAY_WRITE */
-       char *array_write = "beta, not hooked";
-#endif /* SPL_ARRAY_WRITE */
-
        php_info_print_table_start();
        php_info_print_table_header(2, "SPL support",        "enabled");
-       php_info_print_table_row(2,    "iterator",           foreach);
-       php_info_print_table_row(2,    "forward",            foreach);
-       php_info_print_table_row(2,    "sequence",           foreach);
-       php_info_print_table_row(2,    "assoc",              foreach);
-       php_info_print_table_row(2,    "ArrayRead",         array_read);
-       php_info_print_table_row(2,    "ArrayAccess",       array_write);
        php_info_print_table_end();
 }
 /* }}} */
Index: spl/php_spl.h
diff -u spl/php_spl.h:1.11 spl/php_spl.h:1.12
--- spl/php_spl.h:1.11  Sun Nov  9 09:05:34 2003
+++ spl/php_spl.h       Wed Nov 26 18:28:34 2003
@@ -42,37 +42,8 @@
 PHP_RSHUTDOWN_FUNCTION(spl);
 PHP_MINFO_FUNCTION(spl);
 
-#define ZEND_EXECUTE_HOOK_PTR(name) \
-       opcode_handler_t handler_ ## name
-
-#define ZEND_EXECUTE_HOOK(name) \
-       spl_globals->handler_ ## name = zend_opcode_handlers[name]; \
-       zend_opcode_handlers[name] = spl_handler_ ## name
-
-#define ZEND_EXECUTE_HOOK_RESTORE(name) \
-       zend_opcode_handlers[name] = SPL_G(handler_ ## name)
-
-#define ZEND_EXECUTE_HOOK_ORIGINAL(name) \
-       return SPL_G(handler_ ## name)(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU)
-
-#define ZEND_EXECUTE_HOOK_FUNCTION(name) \
-       int spl_handler_ ## name(ZEND_OPCODE_HANDLER_ARGS)
 
 ZEND_BEGIN_MODULE_GLOBALS(spl)
-#ifdef SPL_FOREACH
-       ZEND_EXECUTE_HOOK_PTR(ZEND_FE_RESET);
-       ZEND_EXECUTE_HOOK_PTR(ZEND_FE_FETCH);
-       ZEND_EXECUTE_HOOK_PTR(ZEND_SWITCH_FREE);
-#endif
-#if defined(SPL_ARRAY_READ) | defined(SPL_ARRAY_WRITE)
-       ZEND_EXECUTE_HOOK_PTR(ZEND_FETCH_DIM_R);
-       ZEND_EXECUTE_HOOK_PTR(ZEND_FETCH_DIM_W);
-       ZEND_EXECUTE_HOOK_PTR(ZEND_FETCH_DIM_RW);
-#endif
-#ifdef SPL_ARRAY_WRITE
-       ZEND_EXECUTE_HOOK_PTR(ZEND_ASSIGN_DIM);
-       ZEND_EXECUTE_HOOK_PTR(ZEND_UNSET_DIM_OBJ);
-#endif
 ZEND_END_MODULE_GLOBALS(spl)
 
 #ifdef ZTS
Index: spl/spl_array.c
diff -u spl/spl_array.c:1.26 spl/spl_array.c:1.27
--- spl/spl_array.c:1.26        Wed Nov 26 03:18:26 2003
+++ spl/spl_array.c     Wed Nov 26 18:28:34 2003
@@ -303,8 +303,8 @@
 }
 /* }}} */
 
-/* {{{ proto void spl_array::__construct(array|object ar = array())
-       proto void spl_array_it::__construct(array|object ar = array())
+/* {{{ proto void ArrayObject::__construct(array|object ar = array())
+       proto void ArrayIterator::__construct(array|object ar = array())
  Cronstructs a new array iterator from a path. */
 SPL_METHOD(Array, __construct)
 {
@@ -338,7 +338,7 @@
 }
 /* }}} */
 
-/* {{{ proto spl_array_it|NULL ArrayObject::getIterator()
+/* {{{ proto ArrayIterator ArrayObject::getIterator()
    Create a new iterator from a ArrayObject instance */
 SPL_METHOD(Array, getIterator)
 {
@@ -381,7 +381,7 @@
 }
 /* }}} */
 
-/* {{{ proto void spl_array_it::rewind()
+/* {{{ proto void ArrayIterator::rewind()
    Rewind array back to the start */
 SPL_METHOD(Array, rewind)
 {
@@ -398,7 +398,7 @@
 }
 /* }}} */
 
-/* {{{ proto mixed|false spl_array_it::current()
+/* {{{ proto mixed|false ArrayIterator::current()
    Return current array entry */
 SPL_METHOD(Array, current)
 {
@@ -425,7 +425,7 @@
 }
 /* }}} */
 
-/* {{{ proto mixed|false spl_array_it::key()
+/* {{{ proto mixed|false ArrayIterator::key()
    Return current array key */
 SPL_METHOD(Array, key)
 {
@@ -459,7 +459,7 @@
 }
 /* }}} */
 
-/* {{{ proto void spl_array_it::next()
+/* {{{ proto void ArrayIterator::next()
    Move to next entry */
 SPL_METHOD(Array, next)
 {
@@ -480,7 +480,7 @@
 }
 /* }}} */
 
-/* {{{ proto bool spl_array_it::hasMore()
+/* {{{ proto bool ArrayIterator::hasMore()
    Check whether array contains more entries */
 SPL_METHOD(Array, hasMore)
 {
Index: spl/spl_engine.h
diff -u spl/spl_engine.h:1.14 spl/spl_engine.h:1.15
--- spl/spl_engine.h:1.14       Sun Nov  9 09:05:35 2003
+++ spl/spl_engine.h    Wed Nov 26 18:28:34 2003
@@ -33,15 +33,6 @@
 }
 /* }}} */
 
-#define spl_call_method_0(obj, obj_ce, fn_proxy, function_name, fname_len, retval) \
-       spl_call_method(obj, obj_ce, fn_proxy, function_name, fname_len, retval, 0, 
NULL, NULL TSRMLS_CC)
-
-#define spl_call_method_1(obj, obj_ce, fn_proxy, function_name, fname_len, retval, 
arg1) \
-       spl_call_method(obj, obj_ce, fn_proxy, function_name, fname_len, retval, 1, 
arg1, NULL TSRMLS_CC)
-
-#define spl_call_method_2(obj, obj_ce, fn_proxy, function_name, fname_len, retval, 
arg1, arg2) \
-       spl_call_method(obj, obj_ce, fn_proxy, function_name, fname_len, retval, 2, 
arg1, arg2 TSRMLS_CC)
-
 void spl_instantiate(zend_class_entry *pce, zval **object, int alloc TSRMLS_DC);
 int spl_instantiate_arg_ex1(zend_class_entry *pce, zval **retval, int alloc, zval 
*arg1 TSRMLS_DC);
 int spl_instantiate_arg_ex2(zend_class_entry *pce, zval **retval, int alloc, zval 
*arg1, zval *arg2 TSRMLS_DC);
Index: spl/tests/array_iterator.phpt
diff -u spl/tests/array_iterator.phpt:1.3 spl/tests/array_iterator.phpt:1.4
--- spl/tests/array_iterator.phpt:1.3   Thu Sep 18 12:26:29 2003
+++ spl/tests/array_iterator.phpt       Wed Nov 26 18:28:35 2003
@@ -1,5 +1,5 @@
 --TEST--
-SPL: spl_array_iterator
+SPL: ArrayIterator
 --SKIPIF--
 <?php if (!extension_loaded("spl")) print "skip"; ?>
 --FILE--
@@ -8,7 +8,7 @@
 echo "==Normal==\n";
 
 $arr = array(0=>0, 1=>1, 2=>2);
-$obj = new spl_array($arr);
+$obj = new ArrayObject($arr);
 
 foreach($obj as $ak=>$av) {
        foreach($obj as $bk=>$bv) {
@@ -22,7 +22,7 @@
 echo "==UseRef==\n";
 
 $arr = array(0=>0, 1=>1, 2=>2);
-$obj = new spl_array(&$arr);
+$obj = new ArrayObject(&$arr);
 
 foreach($obj as $ak=>$av) {
        foreach($obj as $bk=>$bv) {
@@ -33,7 +33,7 @@
 echo "==Modify==\n";
 
 $arr = array(0=>0, 1=>1, 2=>2);
-$obj = new spl_array(&$arr);
+$obj = new ArrayObject(&$arr);
 
 foreach($obj as $ak=>$av) {
        foreach($obj as $bk=>$bv) {
@@ -47,7 +47,7 @@
 echo "==Delete==\n";
 
 $arr = array(0=>0, 1=>1, 2=>2);
-$obj = new spl_array(&$arr);
+$obj = new ArrayObject(&$arr);
 
 foreach($obj as $ak=>$av) {
        foreach($obj as $bk=>$bv) {
@@ -61,7 +61,7 @@
 echo "==Change==\n";
 
 $arr = array(0=>0, 1=>1, 2=>2);
-$obj = new spl_array(&$arr);
+$obj = new ArrayObject(&$arr);
 
 foreach($obj as $ak=>$av) {
        foreach($obj as $bk=>$bv) {
@@ -112,11 +112,11 @@
 1=>1 - 0=>0
 1=>1 - 1=>1
 
-Notice: spl_array_it::next(): Array was modified outside object and internal position 
is no longer valid in %sarray_iterator.php on line %d
+Notice: ArrayIterator::next(): Array was modified outside object and internal 
position is no longer valid in %sarray_iterator.php on line %d
 1=>1 - 0=>0
 1=>1 - 2=>2
 
-Notice: spl_array_it::next(): Array was modified outside object and internal position 
is no longer valid in %sarray_iterator.php on line %d
+Notice: ArrayIterator::next(): Array was modified outside object and internal 
position is no longer valid in %sarray_iterator.php on line %d
 0=>0 - 0=>0
 0=>0 - 2=>2
 2=>2 - 0=>0
@@ -128,11 +128,11 @@
 1=>1 - 0=>0
 1=>1 - 1=>1
 
-Notice: spl_array_it::next(): Array was modified outside object and is no longer an 
array in %sarray_iterator.php on line %d
+Notice: ArrayIterator::next(): Array was modified outside object and is no longer an 
array in %sarray_iterator.php on line %d
 
-Notice: spl_array_it::hasMore(): Array was modified outside object and is no longer 
an array in %sarray_iterator.php on line %d
+Notice: ArrayIterator::hasMore(): Array was modified outside object and is no longer 
an array in %sarray_iterator.php on line %d
 
-Notice: spl_array_it::next(): Array was modified outside object and is no longer an 
array in %sarray_iterator.php on line %d
+Notice: ArrayIterator::next(): Array was modified outside object and is no longer an 
array in %sarray_iterator.php on line %d
 
-Notice: spl_array_it::hasMore(): Array was modified outside object and is no longer 
an array in %sarray_iterator.php on line %d
+Notice: ArrayIterator::hasMore(): Array was modified outside object and is no longer 
an array in %sarray_iterator.php on line %d
 Done

Index: spl/tests/array_object.phpt
+++ spl/tests/array_object.phpt
--TEST--
SPL: ArrayObject
--SKIPIF--
<?php if (!extension_loaded("spl")) print "skip"; ?>
--FILE--
<?php

$ar = array(0=>0, 1=>1);
$ar = new ArrayObject($ar);

var_dump($ar);

$ar[2] = 2;
var_dump($ar[2]);
var_dump($ar["3"] = 3);

var_dump(array_merge((array)$ar, array(4=>4, 5=>5)));

var_dump($ar["a"] = "a");

var_dump($ar);
var_dump($ar[0]);
var_dump($ar[6]);
var_dump($ar["b"]);

unset($ar[1]);
unset($ar["3"]);
unset($ar["a"]);
unset($ar[7]);
unset($ar["c"]);
var_dump($ar);

echo "Done\n";
?>
--EXPECTF--
object(ArrayObject)#1 (2) {
  [0]=>
  int(0)
  [1]=>
  int(1)
}
int(2)
int(3)
array(6) {
  [0]=>
  int(0)
  [1]=>
  int(1)
  [2]=>
  &int(2)
  [3]=>
  &int(3)
  [4]=>
  int(4)
  [5]=>
  int(5)
}
string(1) "a"
object(ArrayObject)#1 (5) {
  [0]=>
  int(0)
  [1]=>
  int(1)
  [2]=>
  &int(2)
  [3]=>
  &int(3)
  ["a"]=>
  &string(1) "a"
}
int(0)

Notice: Undefined offset:  6 in %sarray_object.php on line %d
NULL

Notice: Undefined index:  b in %sarray_object.php on line %d
NULL

Notice: Undefined offset:  7 in %sarray_object.php on line %d

Notice: Undefined index:  c in %sarray_object.php on line %d
object(ArrayObject)#1 (2) {
  [0]=>
  int(0)
  [2]=>
  &int(2)
}
Done

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to