- (non-)ZTS fixes
[m6w6/ext-http] / http_request_object.c
index 7b15faa42c2b7155845ee47fa158650dac602f4e..b40ef8992457e8a9833cf8e23c6324676aa4682c 100644 (file)
@@ -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)