X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=http_request_object.c;h=b40ef8992457e8a9833cf8e23c6324676aa4682c;hb=6aca56d611a22eb559098f3c02c31634a6f9ff9f;hp=7b15faa42c2b7155845ee47fa158650dac602f4e;hpb=9676c81efbb8f180fa189d71a7ecb50dde4f5646;p=m6w6%2Fext-http diff --git a/http_request_object.c b/http_request_object.c index 7b15faa..b40ef89 100644 --- a/http_request_object.c +++ b/http_request_object.c @@ -449,18 +449,16 @@ zend_object_value _http_request_object_new_ex(zend_class_entry *ce, CURL *ch, ht zend_object_value _http_request_object_clone_obj(zval *this_ptr TSRMLS_DC) { - zend_object *old_zo; zend_object_value new_ov; http_request_object *new_obj; getObject(http_request_object, old_obj); - old_zo = zend_objects_get_address(this_ptr TSRMLS_CC); - new_ov = http_request_object_new_ex(old_zo->ce, NULL, &new_obj); + new_ov = http_request_object_new_ex(old_obj->zo.ce, NULL, &new_obj); if (old_obj->request->ch) { http_curl_init_ex(curl_easy_duphandle(old_obj->request->ch), new_obj->request); } - zend_objects_clone_members(&new_obj->zo, new_ov, old_zo, Z_OBJ_HANDLE_P(this_ptr) TSRMLS_CC); + zend_objects_clone_members(&new_obj->zo, new_ov, &old_obj->zo, Z_OBJ_HANDLE_P(this_ptr) TSRMLS_CC); phpstr_append(&new_obj->request->conv.request, old_obj->request->conv.request.data, old_obj->request->conv.request.used); phpstr_append(&new_obj->request->conv.response, old_obj->request->conv.response.data, old_obj->request->conv.response.used); @@ -471,12 +469,8 @@ void _http_request_object_free(zend_object *object TSRMLS_DC) { http_request_object *o = (http_request_object *) object; - if (OBJ_PROP(o)) { - zend_hash_destroy(OBJ_PROP(o)); - FREE_HASHTABLE(OBJ_PROP(o)); - } http_request_free(&o->request); - efree(o); + freeObject(o); } #define http_request_object_check_request_content_type(t) _http_request_object_check_request_content_type((t) TSRMLS_CC)