fix build with old curl version
[m6w6/ext-http] / php_http_curl_client_datashare.c
index 11856be3d36d81e255d03a98ccc45b3e768d3251..3668512bccf93d2f6777e4451adc89fb1fffbd73 100644 (file)
@@ -67,6 +67,11 @@ static STATUS php_http_curl_client_datashare_attach(php_http_client_datashare_t
        php_http_curl_client_t *recurl = r->ctx;
        TSRMLS_FETCH_FROM_CTX(h->ts);
 
+       if (r->ops != php_http_curl_client_get_ops()) {
+               php_http_error(HE_WARNING, PHP_HTTP_E_CLIENT_DATASHARE, "Cannot attach a non-curl client to this datashare");
+               return FAILURE;
+       }
+
        if (CURLE_OK != (rc = curl_easy_setopt(recurl->handle, CURLOPT_SHARE, curl->handle))) {
                php_http_error(HE_WARNING, PHP_HTTP_E_CLIENT_DATASHARE, "Could not attach request to the datashare: %s", curl_easy_strerror(rc));
                return FAILURE;
@@ -81,6 +86,11 @@ static STATUS php_http_curl_client_datashare_detach(php_http_client_datashare_t
        TSRMLS_FETCH_FROM_CTX(h->ts);
 
 
+       if (r->ops != php_http_curl_client_get_ops()) {
+               php_http_error(HE_WARNING, PHP_HTTP_E_CLIENT_DATASHARE, "Cannot attach a non-curl client to this datashare");
+               return FAILURE;
+       }
+
        if (CURLE_OK != (rc = curl_easy_setopt(recurl->handle, CURLOPT_SHARE, NULL))) {
                php_http_error(HE_WARNING, PHP_HTTP_E_CLIENT_DATASHARE, "Could not detach request from the datashare: %s", curl_share_strerror(rc));
                return FAILURE;
@@ -181,11 +191,7 @@ zend_object_value php_http_curl_client_datashare_object_new_ex(zend_class_entry
 
        o = ecalloc(1, sizeof(*o));
        zend_object_std_init((zend_object *) o, ce TSRMLS_CC);
-#if PHP_VERSION_ID < 50339
-       zend_hash_copy(((zend_object *) o)->properties, &(ce->default_properties), (copy_ctor_func_t) zval_add_ref, NULL, sizeof(zval*));
-#else
        object_properties_init((zend_object *) o, ce);
-#endif
 
        if (share) {
                o->share = share;