mirror of
https://github.com/php/php-src.git
synced 2025-08-15 21:48:51 +02:00
- Provide appropriate way to destroy internal zval's.
- Allow internal zval's of type string and disallow complex types. - Define the default string for extensions at class level instead of ctor.
This commit is contained in:
parent
cec053f707
commit
19ec7a09fc
8 changed files with 93 additions and 21 deletions
|
@ -36,7 +36,6 @@ static zend_object_value zend_default_exception_new(zend_class_entry *class_type
|
|||
zend_hash_init(object->properties, 0, NULL, ZVAL_PTR_DTOR, 0);
|
||||
zend_hash_copy(object->properties, &class_type->default_properties, (copy_ctor_func_t) zval_add_ref, (void *) &tmp, sizeof(zval *));
|
||||
|
||||
zend_update_property_string(class_type, &obj, "message", sizeof("message")-1, "Unknown exception" TSRMLS_CC);
|
||||
zend_update_property_string(class_type, &obj, "file", sizeof("file")-1, zend_get_executed_filename(TSRMLS_C) TSRMLS_CC);
|
||||
zend_update_property_long(class_type, &obj, "line", sizeof("line")-1, zend_get_executed_lineno(TSRMLS_C) TSRMLS_CC);
|
||||
|
||||
|
@ -125,7 +124,7 @@ static void zend_register_default_exception(TSRMLS_D)
|
|||
default_exception_ptr = zend_register_internal_class(&default_exception TSRMLS_CC);
|
||||
default_exception_ptr->create_object = zend_default_exception_new;
|
||||
|
||||
zend_declare_property_null(default_exception_ptr, "message", sizeof("message")-1, ZEND_ACC_PROTECTED);
|
||||
zend_declare_property_string(default_exception_ptr, "message", sizeof("message")-1, "Unknown exception", ZEND_ACC_PROTECTED);
|
||||
zend_declare_property_long(default_exception_ptr, "code", sizeof("code")-1, 0, ZEND_ACC_PROTECTED);
|
||||
zend_declare_property_null(default_exception_ptr, "file", sizeof("file")-1, ZEND_ACC_PROTECTED);
|
||||
zend_declare_property_null(default_exception_ptr, "line", sizeof("line")-1, ZEND_ACC_PROTECTED);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue