Hi Georg, Would such a fix (in combination with the fix for #28430) also fix the problem described in #28817 (http://bugs.php.net/bug.php?id=28817)?
Kind regards, David Quoting Georg Richter <[EMAIL PROTECTED]>: > georg Fri Dec 3 02:56:19 2004 EDT > > Added files: > /php-src/ext/mysqli/tests bug30967.phpt > > Modified files: > /php-src/ext/mysqli mysqli.c > Log: > Fixed bug #30967 (properties in extended mysqli classes don't work) > > > http://cvs.php.net/diff.php/php-src/ext/mysqli/mysqli.c?r1=1.52&r2=1.53&ty=u > Index: php-src/ext/mysqli/mysqli.c > diff -u php-src/ext/mysqli/mysqli.c:1.52 php-src/ext/mysqli/mysqli.c:1.53 > --- php-src/ext/mysqli/mysqli.c:1.52 Wed Aug 25 09:57:35 2004 > +++ php-src/ext/mysqli/mysqli.c Fri Dec 3 02:56:18 2004 > @@ -15,7 +15,7 @@ > | Author: Georg Richter <[EMAIL PROTECTED]> > | > +----------------------------------------------------------------------+ > > - $Id: mysqli.c,v 1.52 2004/08/25 13:57:35 georg Exp $ > + $Id: mysqli.c,v 1.53 2004/12/03 07:56:18 georg Exp $ > */ > > #ifdef HAVE_CONFIG_H > @@ -310,7 +310,7 @@ > 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)); > @@ -320,11 +320,14 @@ > 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); > > http://cvs.php.net/co.php/php-src/ext/mysqli/tests/bug30967.phpt?r=1.1&p=1 > Index: php-src/ext/mysqli/tests/bug30967.phpt > +++ php-src/ext/mysqli/tests/bug30967.phpt > --TEST-- > Bug #30967 testcase (properties) > --FILE-- > <?php > include "connect.inc"; > > class mysql1 extends mysqli { > } > > class mysql2 extends mysql1 { > } > > $mysql = new mysql2("localhost", "root", "", "test"); > > $mysql->query("THIS DOES NOT WORK"); > printf("%d\n", $mysql->errno); > > $mysql->close(); > ?> > --EXPECTF-- > 1064 > > -- > PHP CVS Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > > ---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program. -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php