X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=php_http_client_datashare.c;h=387df53656ddc2875f0e065b3f56adabdcaf942e;hp=38719ece014916e8311d06e9d28cec8c3e4ba248;hb=25f0c16244fc5f8b2c9d9bfddab8a541d2521789;hpb=8b0d2cdc1c3c1b8c54f9d1f18038468b1b87c126 diff --git a/php_http_client_datashare.c b/php_http_client_datashare.c index 38719ec..387df53 100644 --- a/php_http_client_datashare.c +++ b/php_http_client_datashare.c @@ -147,7 +147,7 @@ PHP_HTTP_BEGIN_ARGS(detach, 1) PHP_HTTP_ARG_OBJ(http\\Client, client, 0) PHP_HTTP_END_ARGS; -static void php_http_client_datashare_object_write_prop(zval *object, zval *member, zval *value, const zend_literal *literal_key TSRMLS_DC); +static void php_http_client_datashare_object_write_prop(zval *object, zval *member, zval *value PHP_HTTP_ZEND_LITERAL_DC TSRMLS_DC); static zend_class_entry *php_http_client_datashare_class_entry; @@ -226,7 +226,7 @@ void php_http_client_datashare_object_free(void *object TSRMLS_DC) efree(o); } -static void php_http_client_datashare_object_write_prop(zval *object, zval *member, zval *value, const zend_literal *literal_key TSRMLS_DC) +static void php_http_client_datashare_object_write_prop(zval *object, zval *member, zval *value PHP_HTTP_ZEND_LITERAL_DC TSRMLS_DC) { zend_property_info *pi; @@ -250,10 +250,10 @@ static void php_http_client_datashare_object_write_prop(zval *object, zval *memb } } - zend_get_std_object_handlers()->write_property(object, member, value, literal_key TSRMLS_CC); + zend_get_std_object_handlers()->write_property(object, member, value PHP_HTTP_ZEND_LITERAL_CC TSRMLS_CC); } -static zval **php_http_client_datashare_object_get_prop_ptr(zval *object, zval *member, const zend_literal *literal_key TSRMLS_DC) +static zval **php_http_client_datashare_object_get_prop_ptr(zval *object, zval *member PHP_HTTP_ZEND_LITERAL_DC TSRMLS_DC) { zend_property_info *pi; @@ -261,7 +261,7 @@ static zval **php_http_client_datashare_object_get_prop_ptr(zval *object, zval * return &php_http_property_proxy_init(NULL, object, member, NULL TSRMLS_CC)->myself; } - return zend_get_std_object_handlers()->get_property_ptr_ptr(object, member, literal_key TSRMLS_CC); + return zend_get_std_object_handlers()->get_property_ptr_ptr(object, member PHP_HTTP_ZEND_LITERAL_CC TSRMLS_CC); } @@ -323,9 +323,14 @@ PHP_METHOD(HttpClientDataShare, reset) RETURN_FALSE; } +PHP_METHOD(HttpClientDataShare, __sleep) +{ + php_http_error(HE_THROW, PHP_HTTP_E_CLIENT_DATASHARE, "cannot serialize a client datashare"); +} + PHP_MINIT_FUNCTION(http_client_datashare) { - PHP_HTTP_REGISTER_CLASS(http\\Client\\DataShare, AbstractDataShare, http_client_datashare, php_http_object_class_entry, 0); + PHP_HTTP_REGISTER_CLASS(http\\Client\\DataShare, AbstractDataShare, http_client_datashare, php_http_object_get_class_entry(), ZEND_ACC_EXPLICIT_ABSTRACT_CLASS); php_http_client_datashare_class_entry->create_object = php_http_client_datashare_object_new; memcpy(&php_http_client_datashare_object_handlers, zend_get_std_object_handlers(), sizeof(zend_object_handlers)); php_http_client_datashare_object_handlers.clone_obj = NULL;