Did the overloading API in PHP4 actually ever work? I have done some simple stuff with it in the past, but I tried using it for something real today and it is falling over. I have a very simple example extension which illustrates it. See http://lerdorf.com/ovl.tar.gz
For the lazy, here is the meat of it. The problem is in my set function which looks like this: int _ovl_property_set(zend_property_reference *prop_ref, zval *value) { zend_llist_element *element = prop_ref->elements_list->head; zval overloaded_property = ((zend_overloaded_element *)(element->data))->element; zval_add_ref(&value); add_property_zval(prop_ref->object, Z_STRVAL(overloaded_property), value); return SUCCESS; } If I do: $obj->foo = array(1,2,3); Then the zval value that gets passed to my set function is messed up. If instead I do: $tmp = array(1,2,3); $obj->foo = $tmp; Then everything is fine. The http://lerdorf.com/ovl.tar.gz tarball has a full self-contained example of the problem if someone wouldn't mind having a look. -Rasmus -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php