+ if (arg->gc) {
+ php_pq_object_prophandler_t *handler;
+
+ if ((handler = zend_hash_find_ptr(arg->pq_obj->prophandler, pi->name)) && handler->gc) {
+ zval member, return_value;
+
+ ZVAL_STR(&member, pi->name);
+ ZVAL_ARR(&return_value, arg->ht);
+ handler->gc(arg->object, arg->pq_obj, &return_value);
+ }
+ } else {
+ zval tmp_prop, *property = NULL;
+
+ property = zend_read_property(arg->pq_obj->zo.ce, arg->object, pi->name->val, pi->name->len, 0, &tmp_prop);
+ zend_hash_update(arg->ht, pi->name, property);