fixes for windows and 5.3 compatibility
[m6w6/ext-http] / php_http_curl_client_pool.c
index 61a00f17a7f6b3597c63a057d1abdc3b924a39cc..21d33144c6ae8abd78b57229495916bb0ba396cc 100644 (file)
@@ -460,11 +460,6 @@ static php_http_resource_factory_ops_t php_http_curlm_resource_factory_ops = {
        php_http_curlm_dtor
 };
 
-static zend_class_entry *get_class_entry(void)
-{
-       return php_http_curl_client_pool_class_entry;
-}
-
 static php_http_client_pool_ops_t php_http_curl_client_pool_ops = {
        &php_http_curlm_resource_factory_ops,
        php_http_curl_client_pool_init,
@@ -478,7 +473,7 @@ static php_http_client_pool_ops_t php_http_curl_client_pool_ops = {
        php_http_curl_client_pool_detach,
        php_http_curl_client_pool_setopt,
        (php_http_new_t) php_http_curl_client_pool_object_new_ex,
-       get_class_entry
+       php_http_curl_client_pool_get_class_entry
 };
 
 PHP_HTTP_API php_http_client_pool_ops_t *php_http_curl_client_pool_get_ops(void)
@@ -492,8 +487,14 @@ PHP_HTTP_API php_http_client_pool_ops_t *php_http_curl_client_pool_get_ops(void)
 #define PHP_HTTP_CURL_ALIAS(method, func)              PHP_HTTP_STATIC_ME_ALIAS(method, func, PHP_HTTP_ARGS(HttpClientCURL, method))
 #define PHP_HTTP_CURL_MALIAS(me, al, vis)              ZEND_FENTRY(me, ZEND_MN(HttpClientCURL_##al), PHP_HTTP_ARGS(HttpClientCURL, al), vis)
 
-zend_class_entry *php_http_curl_client_pool_class_entry;
-zend_function_entry php_http_curl_client_pool_method_entry[] = {
+static zend_class_entry *php_http_curl_client_pool_class_entry;
+
+zend_class_entry *php_http_curl_client_pool_get_class_entry(void)
+{
+       return php_http_curl_client_pool_class_entry;
+}
+
+static zend_function_entry php_http_curl_client_pool_method_entry[] = {
        EMPTY_FUNCTION_ENTRY
 };
 
@@ -509,7 +510,11 @@ zend_object_value php_http_curl_client_pool_object_new_ex(zend_class_entry *ce,
 
        o = ecalloc(1, sizeof(php_http_client_pool_object_t));
        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 (!(o->pool = p)) {
                o->pool = php_http_client_pool_init(NULL, &php_http_curl_client_pool_ops, NULL, NULL TSRMLS_CC);