X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=src%2Fphp_http_message.c;h=371ecb7067d021785caa7677de75f135b6b45fdd;hp=a2c42a2b15e5f1bcffe7fe1ac91b55d12e1ddad1;hb=bc73bc67034bf875cdcace2bbc569350a3acbc80;hpb=a8b478a15ba6febd3f50b31f8763772ca9327f18 diff --git a/src/php_http_message.c b/src/php_http_message.c index a2c42a2..371ecb7 100644 --- a/src/php_http_message.c +++ b/src/php_http_message.c @@ -510,7 +510,8 @@ zend_class_entry *php_http_message_get_class_entry(void) } static zval *php_http_message_object_read_prop(zval *object, zval *member, int type, void **cache_slot, zval *rv); -static void php_http_message_object_write_prop(zval *object, zval *member, zval *value, void **cache_slot); + +static PHP_WRITE_PROP_HANDLER_TYPE php_http_message_object_write_prop(zval *object, zval *member, zval *value, void **cache_slot); static zend_object_handlers php_http_message_object_handlers; static HashTable php_http_message_object_prophandlers; @@ -894,6 +895,13 @@ void php_http_message_object_free(zend_object *object) zend_object_std_dtor(object); } +#if PHP_VERSION_ID >= 70400 +static zval *php_http_message_object_get_prop_ptr(zval *object, zval *member, int type, void **cache_slot) +{ + return NULL; +} +#endif + static zval *php_http_message_object_read_prop(zval *object, zval *member, int type, void **cache_slot, zval *tmp) { zval *return_value; @@ -923,7 +931,7 @@ static zval *php_http_message_object_read_prop(zval *object, zval *member, int t return return_value; } -static void php_http_message_object_write_prop(zval *object, zval *member, zval *value, void **cache_slot) +static PHP_WRITE_PROP_HANDLER_TYPE php_http_message_object_write_prop(zval *object, zval *member, zval *value, void **cache_slot) { php_http_message_object_t *obj = PHP_HTTP_OBJ(NULL, object); php_http_message_object_prophandler_t *handler; @@ -938,6 +946,7 @@ static void php_http_message_object_write_prop(zval *object, zval *member, zval } zend_string_release(member_name); + PHP_WRITE_PROP_HANDLER_RETURN(value); } static HashTable *php_http_message_object_get_debug_info(zval *object, int *is_temp) @@ -1468,7 +1477,7 @@ static PHP_METHOD(HttpMessage, getResponseCode) PHP_HTTP_MESSAGE_OBJECT_INIT(obj); if (obj->message->type != PHP_HTTP_RESPONSE) { - php_error_docref(NULL, E_WARNING, "http\\Message is not if type response"); + php_error_docref(NULL, E_WARNING, "http\\Message is not of type response"); RETURN_FALSE; } @@ -2062,7 +2071,11 @@ PHP_MINIT_FUNCTION(http_message) php_http_message_object_handlers.read_property = php_http_message_object_read_prop; php_http_message_object_handlers.write_property = php_http_message_object_write_prop; php_http_message_object_handlers.get_debug_info = php_http_message_object_get_debug_info; +#if PHP_VERSION_ID >= 70400 + php_http_message_object_handlers.get_property_ptr_ptr = php_http_message_object_get_prop_ptr; +#else php_http_message_object_handlers.get_property_ptr_ptr = NULL; +#endif php_http_message_object_handlers.get_gc = php_http_message_object_get_gc; zend_class_implements(php_http_message_class_entry, 3, spl_ce_Countable, zend_ce_serializable, zend_ce_iterator);