diff options
author | Gustavo André dos Santos Lopes <cataphract@php.net> | 2011-03-27 04:21:06 +0000 |
---|---|---|
committer | Gustavo André dos Santos Lopes <cataphract@php.net> | 2011-03-27 04:21:06 +0000 |
commit | c2fe893985f619fdb4f8d17c16405e8ce7926db5 (patch) | |
tree | 4101c77fce358b27a85f569b8255301c8e142489 /ext/spl/php_spl.h | |
parent | 3acdca47030e6dc973cffc0063d45e1bef354a3e (diff) | |
download | php-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-x | ext/spl/php_spl.h | 18 |
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 */ /* |