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