summaryrefslogtreecommitdiff
path: root/ext/spl/php_spl.h
diff options
context:
space:
mode:
authorGustavo André dos Santos Lopes <cataphract@php.net>2011-03-27 04:21:06 +0000
committerGustavo André dos Santos Lopes <cataphract@php.net>2011-03-27 04:21:06 +0000
commitc2fe893985f619fdb4f8d17c16405e8ce7926db5 (patch)
tree4101c77fce358b27a85f569b8255301c8e142489 /ext/spl/php_spl.h
parent3acdca47030e6dc973cffc0063d45e1bef354a3e (diff)
downloadphp-git-c2fe893985f619fdb4f8d17c16405e8ce7926db5.tar.gz
- Fixed bug #54384: Several SPL classes crash when parent constructor is
not called. #Merge to 5.3 pending (slight BC break on AppendIterator, as it's no #longer possible to defer the call to the parent constructor until #after the constructor is performed). #Bugs fixed in an atypical way for SPL. The parent constructor call #check is performed at construction time by using a wrapper constructor #instead of a check on the beginning of each instance method. #Perhaps this should be uniformized in trunk; this method was mainly #applied only to the ones crashing, except a few iterators (at least #AppendIterator and RecursiveIteratorIterator).
Diffstat (limited to 'ext/spl/php_spl.h')
-rwxr-xr-xext/spl/php_spl.h18
1 files changed, 11 insertions, 7 deletions
diff --git a/ext/spl/php_spl.h b/ext/spl/php_spl.h
index bafaf53d41..ee6482548a 100755
--- a/ext/spl/php_spl.h
+++ b/ext/spl/php_spl.h
@@ -63,13 +63,15 @@ PHP_MINFO_FUNCTION(spl);
ZEND_BEGIN_MODULE_GLOBALS(spl)
- char * autoload_extensions;
- HashTable * autoload_functions;
- int autoload_running;
- int autoload_extensions_len;
- intptr_t hash_mask_handle;
- intptr_t hash_mask_handlers;
- int hash_mask_init;
+ char * autoload_extensions;
+ HashTable * autoload_functions;
+ int autoload_running;
+ int autoload_extensions_len;
+ intptr_t hash_mask_handle;
+ intptr_t hash_mask_handlers;
+ int hash_mask_init;
+ zend_function constr_wrapper_fun;
+ int (*validating_fun)(void *object_data TSRMLS_DC);
ZEND_END_MODULE_GLOBALS(spl)
#ifdef ZTS
@@ -86,6 +88,8 @@ PHP_FUNCTION(class_implements);
PHPAPI void php_spl_object_hash(zval *obj, char* md5str TSRMLS_DC);
+zend_function *php_spl_get_constructor_helper(zval *object, int (*validating_fun)(void *object_data TSRMLS_DC) TSRMLS_DC);
+
#endif /* PHP_SPL_H */
/*