- Extended the functionality of is_subclass_of() to accept either a class name
or an object as first parameter. (Andrey)
- Fixed potential problems with unserializing invalid serialize data. (Marcus)
+- Fixed bug #30967 (properties in extended mysqli classes don't work). (Georg)
- Fixed bug #30962 (mssql returns space for NULL columns). (Ilia)
- Fixed bug #30856 (ReflectionClass::getStaticProperties segfaults). (Marcus)
- Fixed bug #30832 ("!" stripped off comments in xml parser). (Rob)
zend_object_value retval;
mysqli_object *intern;
zval *tmp;
- zend_class_entry *parent;
+ zend_class_entry *mysqli_base_class;
intern = emalloc(sizeof(mysqli_object));
memset(intern, 0, sizeof(mysqli_object));
intern->ptr = NULL;
intern->valid = 0;
intern->prop_handler = NULL;
- if ((parent = class_type->parent))
+
+ mysqli_base_class = class_type;
+ while (mysqli_base_class->type != ZEND_INTERNAL_CLASS && mysqli_base_class->parent != NULL)
{
- zend_hash_find(&classes, parent->name, parent->name_length + 1, (void **) &intern->prop_handler);
+ mysqli_base_class = mysqli_base_class->parent;
}
- zend_hash_find(&classes, class_type->name, class_type->name_length + 1, (void **) &intern->prop_handler);
+ zend_hash_find(&classes, mysqli_base_class->name, mysqli_base_class->name_length + 1,
+ (void **) &intern->prop_handler);
ALLOC_HASHTABLE(intern->zo.properties);
zend_hash_init(intern->zo.properties, 0, NULL, ZVAL_PTR_DTOR, 0);