1*4882a593SmuzhiyunFrom df1241852b359cf12c346beaa68de202257efdf1 Mon Sep 17 00:00:00 2001 2*4882a593SmuzhiyunFrom: Remi Collet <remi@remirepo.net> 3*4882a593SmuzhiyunDate: Wed, 9 Dec 2020 17:00:46 +0100 4*4882a593SmuzhiyunSubject: [PATCH] more work for PHP 8 (#383) 5*4882a593Smuzhiyun 6*4882a593Smuzhiyun* more work for PHP 8 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun* split test 9*4882a593Smuzhiyun 10*4882a593SmuzhiyunSigned-off-by: Remi Collet <remi@remirepo.net> 11*4882a593SmuzhiyunSigned-off-by: Adam Duskett <aduskett@gmail.com> 12*4882a593Smuzhiyun--- 13*4882a593Smuzhiyun amqp_basic_properties.c | 84 +++++++++++++-------------- 14*4882a593Smuzhiyun amqp_channel.c | 49 +++++++++------- 15*4882a593Smuzhiyun amqp_connection.c | 106 +++++++++++++++++----------------- 16*4882a593Smuzhiyun amqp_connection_resource.c | 12 ++-- 17*4882a593Smuzhiyun amqp_decimal.c | 8 +-- 18*4882a593Smuzhiyun amqp_envelope.c | 12 ++-- 19*4882a593Smuzhiyun amqp_exchange.c | 22 +++---- 20*4882a593Smuzhiyun amqp_queue.c | 38 ++++++------ 21*4882a593Smuzhiyun amqp_timestamp.c | 6 +- 22*4882a593Smuzhiyun amqp_type.c | 6 +- 23*4882a593Smuzhiyun php5_support.h | 2 + 24*4882a593Smuzhiyun php7_support.h | 9 +++ 25*4882a593Smuzhiyun php_amqp.h | 8 +-- 26*4882a593Smuzhiyun tests/amqptimestamp.phpt | 4 +- 27*4882a593Smuzhiyun tests/amqptimestamp_php8.phpt | 60 +++++++++++++++++++ 28*4882a593Smuzhiyun tests/bug_61533.phpt | 2 +- 29*4882a593Smuzhiyun 16 files changed, 254 insertions(+), 174 deletions(-) 30*4882a593Smuzhiyun create mode 100644 tests/amqptimestamp_php8.phpt 31*4882a593Smuzhiyun 32*4882a593Smuzhiyundiff --git a/amqp_basic_properties.c b/amqp_basic_properties.c 33*4882a593Smuzhiyunindex 69b813e..5375f44 100644 34*4882a593Smuzhiyun--- a/amqp_basic_properties.c 35*4882a593Smuzhiyun+++ b/amqp_basic_properties.c 36*4882a593Smuzhiyun@@ -70,7 +70,7 @@ void php_amqp_basic_properties_set_empty_headers(zval *obj TSRMLS_DC) { 37*4882a593Smuzhiyun PHP5to7_MAYBE_INIT(headers); 38*4882a593Smuzhiyun PHP5to7_ARRAY_INIT(headers); 39*4882a593Smuzhiyun 40*4882a593Smuzhiyun- zend_update_property(this_ce, obj, ZEND_STRL("headers"), PHP5to7_MAYBE_PTR(headers) TSRMLS_CC); 41*4882a593Smuzhiyun+ zend_update_property(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("headers"), PHP5to7_MAYBE_PTR(headers) TSRMLS_CC); 42*4882a593Smuzhiyun 43*4882a593Smuzhiyun PHP5to7_MAYBE_DESTROY(headers); 44*4882a593Smuzhiyun } 45*4882a593Smuzhiyun@@ -118,29 +118,29 @@ static PHP_METHOD(AMQPBasicProperties, __construct) { 46*4882a593Smuzhiyun ) == FAILURE) { 47*4882a593Smuzhiyun return; 48*4882a593Smuzhiyun } 49*4882a593Smuzhiyun- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("content_type"), content_type, content_type_len TSRMLS_CC); 50*4882a593Smuzhiyun- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("content_encoding"), content_encoding, content_encoding_len TSRMLS_CC); 51*4882a593Smuzhiyun+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("content_type"), content_type, content_type_len TSRMLS_CC); 52*4882a593Smuzhiyun+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("content_encoding"), content_encoding, content_encoding_len TSRMLS_CC); 53*4882a593Smuzhiyun 54*4882a593Smuzhiyun if (headers != NULL) { 55*4882a593Smuzhiyun- zend_update_property(this_ce, getThis(), ZEND_STRL("headers"), headers TSRMLS_CC); 56*4882a593Smuzhiyun+ zend_update_property(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("headers"), headers TSRMLS_CC); 57*4882a593Smuzhiyun } else { 58*4882a593Smuzhiyun php_amqp_basic_properties_set_empty_headers(getThis() TSRMLS_CC); 59*4882a593Smuzhiyun } 60*4882a593Smuzhiyun 61*4882a593Smuzhiyun- zend_update_property_long(this_ce, getThis(), ZEND_STRL("delivery_mode"), delivery_mode TSRMLS_CC); 62*4882a593Smuzhiyun- zend_update_property_long(this_ce, getThis(), ZEND_STRL("priority"), priority TSRMLS_CC); 63*4882a593Smuzhiyun+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("delivery_mode"), delivery_mode TSRMLS_CC); 64*4882a593Smuzhiyun+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("priority"), priority TSRMLS_CC); 65*4882a593Smuzhiyun 66*4882a593Smuzhiyun- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("correlation_id"), correlation_id, correlation_id_len TSRMLS_CC); 67*4882a593Smuzhiyun- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("reply_to"), reply_to, reply_to_len TSRMLS_CC); 68*4882a593Smuzhiyun- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("expiration"), expiration, expiration_len TSRMLS_CC); 69*4882a593Smuzhiyun- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("message_id"), message_id, message_id_len TSRMLS_CC); 70*4882a593Smuzhiyun+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("correlation_id"), correlation_id, correlation_id_len TSRMLS_CC); 71*4882a593Smuzhiyun+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("reply_to"), reply_to, reply_to_len TSRMLS_CC); 72*4882a593Smuzhiyun+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("expiration"), expiration, expiration_len TSRMLS_CC); 73*4882a593Smuzhiyun+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("message_id"), message_id, message_id_len TSRMLS_CC); 74*4882a593Smuzhiyun 75*4882a593Smuzhiyun- zend_update_property_long(this_ce, getThis(), ZEND_STRL("timestamp"), timestamp TSRMLS_CC); 76*4882a593Smuzhiyun+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("timestamp"), timestamp TSRMLS_CC); 77*4882a593Smuzhiyun 78*4882a593Smuzhiyun- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("type"), type, type_len TSRMLS_CC); 79*4882a593Smuzhiyun- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("user_id"), user_id, user_id_len TSRMLS_CC); 80*4882a593Smuzhiyun- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("app_id"), app_id, app_id_len TSRMLS_CC); 81*4882a593Smuzhiyun- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("cluster_id"), cluster_id, cluster_id_len TSRMLS_CC); 82*4882a593Smuzhiyun+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("type"), type, type_len TSRMLS_CC); 83*4882a593Smuzhiyun+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("user_id"), user_id, user_id_len TSRMLS_CC); 84*4882a593Smuzhiyun+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("app_id"), app_id, app_id_len TSRMLS_CC); 85*4882a593Smuzhiyun+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("cluster_id"), cluster_id, cluster_id_len TSRMLS_CC); 86*4882a593Smuzhiyun } 87*4882a593Smuzhiyun /* }}} */ 88*4882a593Smuzhiyun 89*4882a593Smuzhiyun@@ -460,7 +460,7 @@ void parse_amqp_table(amqp_table_t *table, zval *result TSRMLS_DC) { 90*4882a593Smuzhiyun object_init_ex(PHP5to7_MAYBE_PTR(value), amqp_timestamp_class_entry); 91*4882a593Smuzhiyun 92*4882a593Smuzhiyun zend_call_method_with_1_params( 93*4882a593Smuzhiyun- &value, 94*4882a593Smuzhiyun+ PHP5to8_OBJ_PROP(&value), 95*4882a593Smuzhiyun amqp_timestamp_class_entry, 96*4882a593Smuzhiyun NULL, 97*4882a593Smuzhiyun "__construct", 98*4882a593Smuzhiyun@@ -488,7 +488,7 @@ void parse_amqp_table(amqp_table_t *table, zval *result TSRMLS_DC) { 99*4882a593Smuzhiyun object_init_ex(PHP5to7_MAYBE_PTR(value), amqp_decimal_class_entry); 100*4882a593Smuzhiyun 101*4882a593Smuzhiyun zend_call_method_with_2_params( 102*4882a593Smuzhiyun- &value, 103*4882a593Smuzhiyun+ PHP5to8_OBJ_PROP(&value), 104*4882a593Smuzhiyun amqp_decimal_class_entry, 105*4882a593Smuzhiyun NULL, 106*4882a593Smuzhiyun "__construct", 107*4882a593Smuzhiyun@@ -525,93 +525,93 @@ void php_amqp_basic_properties_extract(amqp_basic_properties_t *p, zval *obj TSR 108*4882a593Smuzhiyun PHP5to7_ARRAY_INIT(headers); 109*4882a593Smuzhiyun 110*4882a593Smuzhiyun if (p->_flags & AMQP_BASIC_CONTENT_TYPE_FLAG) { 111*4882a593Smuzhiyun- zend_update_property_stringl(this_ce, obj, ZEND_STRL("content_type"), (const char *) p->content_type.bytes, (PHP5to7_param_str_len_type_t) p->content_type.len TSRMLS_CC); 112*4882a593Smuzhiyun+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("content_type"), (const char *) p->content_type.bytes, (PHP5to7_param_str_len_type_t) p->content_type.len TSRMLS_CC); 113*4882a593Smuzhiyun } else { 114*4882a593Smuzhiyun /* BC */ 115*4882a593Smuzhiyun- zend_update_property_stringl(this_ce, obj, ZEND_STRL("content_type"), "", 0 TSRMLS_CC); 116*4882a593Smuzhiyun+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("content_type"), "", 0 TSRMLS_CC); 117*4882a593Smuzhiyun } 118*4882a593Smuzhiyun 119*4882a593Smuzhiyun if (p->_flags & AMQP_BASIC_CONTENT_ENCODING_FLAG) { 120*4882a593Smuzhiyun- zend_update_property_stringl(this_ce, obj, ZEND_STRL("content_encoding"), (const char *) p->content_encoding.bytes, (PHP5to7_param_str_len_type_t) p->content_encoding.len TSRMLS_CC); 121*4882a593Smuzhiyun+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("content_encoding"), (const char *) p->content_encoding.bytes, (PHP5to7_param_str_len_type_t) p->content_encoding.len TSRMLS_CC); 122*4882a593Smuzhiyun } else { 123*4882a593Smuzhiyun /* BC */ 124*4882a593Smuzhiyun- zend_update_property_stringl(this_ce, obj, ZEND_STRL("content_encoding"), "", 0 TSRMLS_CC); 125*4882a593Smuzhiyun+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("content_encoding"), "", 0 TSRMLS_CC); 126*4882a593Smuzhiyun } 127*4882a593Smuzhiyun 128*4882a593Smuzhiyun if (p->_flags & AMQP_BASIC_HEADERS_FLAG) { 129*4882a593Smuzhiyun parse_amqp_table(&(p->headers), PHP5to7_MAYBE_PTR(headers) TSRMLS_CC); 130*4882a593Smuzhiyun } 131*4882a593Smuzhiyun 132*4882a593Smuzhiyun- zend_update_property(this_ce, obj, ZEND_STRL("headers"), PHP5to7_MAYBE_PTR(headers) TSRMLS_CC); 133*4882a593Smuzhiyun+ zend_update_property(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("headers"), PHP5to7_MAYBE_PTR(headers) TSRMLS_CC); 134*4882a593Smuzhiyun 135*4882a593Smuzhiyun if (p->_flags & AMQP_BASIC_DELIVERY_MODE_FLAG) { 136*4882a593Smuzhiyun- zend_update_property_long(this_ce, obj, ZEND_STRL("delivery_mode"), (PHP5to7_param_long_type_t) p->delivery_mode TSRMLS_CC); 137*4882a593Smuzhiyun+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("delivery_mode"), (PHP5to7_param_long_type_t) p->delivery_mode TSRMLS_CC); 138*4882a593Smuzhiyun } else { 139*4882a593Smuzhiyun /* BC */ 140*4882a593Smuzhiyun- zend_update_property_long(this_ce, obj, ZEND_STRL("delivery_mode"), AMQP_DELIVERY_NONPERSISTENT TSRMLS_CC); 141*4882a593Smuzhiyun+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("delivery_mode"), AMQP_DELIVERY_NONPERSISTENT TSRMLS_CC); 142*4882a593Smuzhiyun } 143*4882a593Smuzhiyun 144*4882a593Smuzhiyun if (p->_flags & AMQP_BASIC_PRIORITY_FLAG) { 145*4882a593Smuzhiyun- zend_update_property_long(this_ce, obj, ZEND_STRL("priority"), (PHP5to7_param_long_type_t) p->priority TSRMLS_CC); 146*4882a593Smuzhiyun+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("priority"), (PHP5to7_param_long_type_t) p->priority TSRMLS_CC); 147*4882a593Smuzhiyun } else { 148*4882a593Smuzhiyun /* BC */ 149*4882a593Smuzhiyun- zend_update_property_long(this_ce, obj, ZEND_STRL("priority"), 0 TSRMLS_CC); 150*4882a593Smuzhiyun+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("priority"), 0 TSRMLS_CC); 151*4882a593Smuzhiyun } 152*4882a593Smuzhiyun 153*4882a593Smuzhiyun if (p->_flags & AMQP_BASIC_CORRELATION_ID_FLAG) { 154*4882a593Smuzhiyun- zend_update_property_stringl(this_ce, obj, ZEND_STRL("correlation_id"), (const char *) p->correlation_id.bytes, (PHP5to7_param_str_len_type_t) p->correlation_id.len TSRMLS_CC); 155*4882a593Smuzhiyun+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("correlation_id"), (const char *) p->correlation_id.bytes, (PHP5to7_param_str_len_type_t) p->correlation_id.len TSRMLS_CC); 156*4882a593Smuzhiyun } else { 157*4882a593Smuzhiyun /* BC */ 158*4882a593Smuzhiyun- zend_update_property_stringl(this_ce, obj, ZEND_STRL("correlation_id"), "", 0 TSRMLS_CC); 159*4882a593Smuzhiyun+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("correlation_id"), "", 0 TSRMLS_CC); 160*4882a593Smuzhiyun } 161*4882a593Smuzhiyun 162*4882a593Smuzhiyun if (p->_flags & AMQP_BASIC_REPLY_TO_FLAG) { 163*4882a593Smuzhiyun- zend_update_property_stringl(this_ce, obj, ZEND_STRL("reply_to"), (const char *) p->reply_to.bytes, (PHP5to7_param_str_len_type_t) p->reply_to.len TSRMLS_CC); 164*4882a593Smuzhiyun+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("reply_to"), (const char *) p->reply_to.bytes, (PHP5to7_param_str_len_type_t) p->reply_to.len TSRMLS_CC); 165*4882a593Smuzhiyun } else { 166*4882a593Smuzhiyun /* BC */ 167*4882a593Smuzhiyun- zend_update_property_stringl(this_ce, obj, ZEND_STRL("reply_to"), "", 0 TSRMLS_CC); 168*4882a593Smuzhiyun+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("reply_to"), "", 0 TSRMLS_CC); 169*4882a593Smuzhiyun } 170*4882a593Smuzhiyun 171*4882a593Smuzhiyun if (p->_flags & AMQP_BASIC_EXPIRATION_FLAG) { 172*4882a593Smuzhiyun- zend_update_property_stringl(this_ce, obj, ZEND_STRL("expiration"), (const char *) p->expiration.bytes, (PHP5to7_param_str_len_type_t) p->expiration.len TSRMLS_CC); 173*4882a593Smuzhiyun+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("expiration"), (const char *) p->expiration.bytes, (PHP5to7_param_str_len_type_t) p->expiration.len TSRMLS_CC); 174*4882a593Smuzhiyun } else { 175*4882a593Smuzhiyun /* BC */ 176*4882a593Smuzhiyun- zend_update_property_stringl(this_ce, obj, ZEND_STRL("expiration"), "", 0 TSRMLS_CC); 177*4882a593Smuzhiyun+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("expiration"), "", 0 TSRMLS_CC); 178*4882a593Smuzhiyun } 179*4882a593Smuzhiyun 180*4882a593Smuzhiyun if (p->_flags & AMQP_BASIC_MESSAGE_ID_FLAG) { 181*4882a593Smuzhiyun- zend_update_property_stringl(this_ce, obj, ZEND_STRL("message_id"), (const char *) p->message_id.bytes, (PHP5to7_param_str_len_type_t) p->message_id.len TSRMLS_CC); 182*4882a593Smuzhiyun+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("message_id"), (const char *) p->message_id.bytes, (PHP5to7_param_str_len_type_t) p->message_id.len TSRMLS_CC); 183*4882a593Smuzhiyun } else { 184*4882a593Smuzhiyun /* BC */ 185*4882a593Smuzhiyun- zend_update_property_stringl(this_ce, obj, ZEND_STRL("message_id"), "", 0 TSRMLS_CC); 186*4882a593Smuzhiyun+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("message_id"), "", 0 TSRMLS_CC); 187*4882a593Smuzhiyun } 188*4882a593Smuzhiyun 189*4882a593Smuzhiyun if (p->_flags & AMQP_BASIC_TIMESTAMP_FLAG) { 190*4882a593Smuzhiyun- zend_update_property_long(this_ce, obj, ZEND_STRL("timestamp"), (PHP5to7_param_long_type_t) p->timestamp TSRMLS_CC); 191*4882a593Smuzhiyun+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("timestamp"), (PHP5to7_param_long_type_t) p->timestamp TSRMLS_CC); 192*4882a593Smuzhiyun } else { 193*4882a593Smuzhiyun /* BC */ 194*4882a593Smuzhiyun- zend_update_property_long(this_ce, obj, ZEND_STRL("timestamp"), 0 TSRMLS_CC); 195*4882a593Smuzhiyun+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("timestamp"), 0 TSRMLS_CC); 196*4882a593Smuzhiyun } 197*4882a593Smuzhiyun 198*4882a593Smuzhiyun if (p->_flags & AMQP_BASIC_TYPE_FLAG) { 199*4882a593Smuzhiyun- zend_update_property_stringl(this_ce, obj, ZEND_STRL("type"), (const char *) p->type.bytes, (PHP5to7_param_str_len_type_t) p->type.len TSRMLS_CC); 200*4882a593Smuzhiyun+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("type"), (const char *) p->type.bytes, (PHP5to7_param_str_len_type_t) p->type.len TSRMLS_CC); 201*4882a593Smuzhiyun } else { 202*4882a593Smuzhiyun /* BC */ 203*4882a593Smuzhiyun- zend_update_property_stringl(this_ce, obj, ZEND_STRL("type"), "", 0 TSRMLS_CC); 204*4882a593Smuzhiyun+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("type"), "", 0 TSRMLS_CC); 205*4882a593Smuzhiyun } 206*4882a593Smuzhiyun 207*4882a593Smuzhiyun if (p->_flags & AMQP_BASIC_USER_ID_FLAG) { 208*4882a593Smuzhiyun- zend_update_property_stringl(this_ce, obj, ZEND_STRL("user_id"), (const char *) p->user_id.bytes, (PHP5to7_param_str_len_type_t) p->user_id.len TSRMLS_CC); 209*4882a593Smuzhiyun+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("user_id"), (const char *) p->user_id.bytes, (PHP5to7_param_str_len_type_t) p->user_id.len TSRMLS_CC); 210*4882a593Smuzhiyun } else { 211*4882a593Smuzhiyun /* BC */ 212*4882a593Smuzhiyun- zend_update_property_stringl(this_ce, obj, ZEND_STRL("user_id"), "", 0 TSRMLS_CC); 213*4882a593Smuzhiyun+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("user_id"), "", 0 TSRMLS_CC); 214*4882a593Smuzhiyun } 215*4882a593Smuzhiyun 216*4882a593Smuzhiyun if (p->_flags & AMQP_BASIC_APP_ID_FLAG) { 217*4882a593Smuzhiyun- zend_update_property_stringl(this_ce, obj, ZEND_STRL("app_id"), (const char *) p->app_id.bytes, (PHP5to7_param_str_len_type_t) p->app_id.len TSRMLS_CC); 218*4882a593Smuzhiyun+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("app_id"), (const char *) p->app_id.bytes, (PHP5to7_param_str_len_type_t) p->app_id.len TSRMLS_CC); 219*4882a593Smuzhiyun } else { 220*4882a593Smuzhiyun /* BC */ 221*4882a593Smuzhiyun- zend_update_property_stringl(this_ce, obj, ZEND_STRL("app_id"), "", 0 TSRMLS_CC); 222*4882a593Smuzhiyun+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(obj), ZEND_STRL("app_id"), "", 0 TSRMLS_CC); 223*4882a593Smuzhiyun } 224*4882a593Smuzhiyun 225*4882a593Smuzhiyun PHP5to7_MAYBE_DESTROY(headers); 226*4882a593Smuzhiyundiff --git a/amqp_channel.c b/amqp_channel.c 227*4882a593Smuzhiyunindex ef9552a..493c6d3 100644 228*4882a593Smuzhiyun--- a/amqp_channel.c 229*4882a593Smuzhiyun+++ b/amqp_channel.c 230*4882a593Smuzhiyun@@ -152,10 +152,15 @@ static zval * php_amqp_get_fci_gc_data(zend_fcall_info *fci, zval *gc_data) { 231*4882a593Smuzhiyun return gc_data; 232*4882a593Smuzhiyun } 233*4882a593Smuzhiyun 234*4882a593Smuzhiyun+#if PHP_MAJOR_VERSION < 8 235*4882a593Smuzhiyun static HashTable *amqp_channel_gc(zval *object, zval **table, int *n) /* {{{ */ 236*4882a593Smuzhiyun { 237*4882a593Smuzhiyun- amqp_channel_object *channel = PHP_AMQP_GET_CHANNEL(object); 238*4882a593Smuzhiyun- 239*4882a593Smuzhiyun+ amqp_channel_object *channel = PHP_AMQP_GET_CHANNEL(object); 240*4882a593Smuzhiyun+#else 241*4882a593Smuzhiyun+static HashTable *amqp_channel_gc(zend_object *object, zval **table, int *n) /* {{{ */ 242*4882a593Smuzhiyun+{ 243*4882a593Smuzhiyun+ amqp_channel_object *channel = php_amqp_channel_object_fetch(object); 244*4882a593Smuzhiyun+#endif 245*4882a593Smuzhiyun int basic_return_cnt = php_amqp_get_fci_gc_data_count(&channel->callbacks.basic_return.fci); 246*4882a593Smuzhiyun int basic_ack_cnt = php_amqp_get_fci_gc_data_count(&channel->callbacks.basic_ack.fci); 247*4882a593Smuzhiyun int basic_nack_cnt = php_amqp_get_fci_gc_data_count(&channel->callbacks.basic_nack.fci); 248*4882a593Smuzhiyun@@ -249,7 +254,7 @@ static HashTable *amqp_channel_gc(zval *object, zval ***table, int *n TSRMLS_DC) 249*4882a593Smuzhiyun *table = channel->gc_data; 250*4882a593Smuzhiyun *n = cnt; 251*4882a593Smuzhiyun 252*4882a593Smuzhiyun- return zend_std_get_properties(object TSRMLS_CC); 253*4882a593Smuzhiyun+ return zend_std_get_properties(PHP5to8_OBJ_PROP(object) TSRMLS_CC); 254*4882a593Smuzhiyun } /* }}} */ 255*4882a593Smuzhiyun 256*4882a593Smuzhiyun #endif 257*4882a593Smuzhiyun@@ -331,7 +336,7 @@ static PHP_METHOD(amqp_channel_class, __construct) 258*4882a593Smuzhiyun amqp_connection_object *connection; 259*4882a593Smuzhiyun 260*4882a593Smuzhiyun /* Parse out the method parameters */ 261*4882a593Smuzhiyun- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o", &connection_object) == FAILURE) { 262*4882a593Smuzhiyun+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "O", &connection_object, amqp_connection_class_entry) == FAILURE) { 263*4882a593Smuzhiyun zend_throw_exception(amqp_channel_exception_class_entry, "Parameter must be an instance of AMQPConnection.", 0 TSRMLS_CC); 264*4882a593Smuzhiyun RETURN_NULL(); 265*4882a593Smuzhiyun } 266*4882a593Smuzhiyun@@ -341,7 +346,7 @@ static PHP_METHOD(amqp_channel_class, __construct) 267*4882a593Smuzhiyun PHP5to7_MAYBE_INIT(consumers); 268*4882a593Smuzhiyun PHP5to7_ARRAY_INIT(consumers); 269*4882a593Smuzhiyun 270*4882a593Smuzhiyun- zend_update_property(this_ce, getThis(), ZEND_STRL("consumers"), PHP5to7_MAYBE_PTR(consumers) TSRMLS_CC); 271*4882a593Smuzhiyun+ zend_update_property(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("consumers"), PHP5to7_MAYBE_PTR(consumers) TSRMLS_CC); 272*4882a593Smuzhiyun 273*4882a593Smuzhiyun PHP5to7_MAYBE_DESTROY(consumers); 274*4882a593Smuzhiyun 275*4882a593Smuzhiyun@@ -351,16 +356,16 @@ static PHP_METHOD(amqp_channel_class, __construct) 276*4882a593Smuzhiyun #endif 277*4882a593Smuzhiyun 278*4882a593Smuzhiyun /* Set the prefetch count */ 279*4882a593Smuzhiyun- zend_update_property_long(this_ce, getThis(), ZEND_STRL("prefetch_count"), INI_INT("amqp.prefetch_count") TSRMLS_CC); 280*4882a593Smuzhiyun+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("prefetch_count"), INI_INT("amqp.prefetch_count") TSRMLS_CC); 281*4882a593Smuzhiyun 282*4882a593Smuzhiyun /* Set the prefetch size */ 283*4882a593Smuzhiyun- zend_update_property_long(this_ce, getThis(), ZEND_STRL("prefetch_size"), INI_INT("amqp.prefetch_size") TSRMLS_CC); 284*4882a593Smuzhiyun+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("prefetch_size"), INI_INT("amqp.prefetch_size") TSRMLS_CC); 285*4882a593Smuzhiyun 286*4882a593Smuzhiyun /* Set the global prefetch count */ 287*4882a593Smuzhiyun- zend_update_property_long(this_ce, getThis(), ZEND_STRL("global_prefetch_count"), INI_INT("amqp.global_prefetch_count") TSRMLS_CC); 288*4882a593Smuzhiyun+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("global_prefetch_count"), INI_INT("amqp.global_prefetch_count") TSRMLS_CC); 289*4882a593Smuzhiyun 290*4882a593Smuzhiyun /* Set the global prefetch size */ 291*4882a593Smuzhiyun- zend_update_property_long(this_ce, getThis(), ZEND_STRL("global_prefetch_size"), INI_INT("amqp.global_prefetch_size") TSRMLS_CC); 292*4882a593Smuzhiyun+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("global_prefetch_size"), INI_INT("amqp.global_prefetch_size") TSRMLS_CC); 293*4882a593Smuzhiyun 294*4882a593Smuzhiyun /* Pull out and verify the connection */ 295*4882a593Smuzhiyun connection = PHP_AMQP_GET_CONNECTION(connection_object); 296*4882a593Smuzhiyun@@ -376,7 +381,7 @@ static PHP_METHOD(amqp_channel_class, __construct) 297*4882a593Smuzhiyun return; 298*4882a593Smuzhiyun } 299*4882a593Smuzhiyun 300*4882a593Smuzhiyun- zend_update_property(this_ce, getThis(), ZEND_STRL("connection"), connection_object TSRMLS_CC); 301*4882a593Smuzhiyun+ zend_update_property(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("connection"), connection_object TSRMLS_CC); 302*4882a593Smuzhiyun 303*4882a593Smuzhiyun channel_resource = (amqp_channel_resource*)ecalloc(1, sizeof(amqp_channel_resource)); 304*4882a593Smuzhiyun channel->channel_resource = channel_resource; 305*4882a593Smuzhiyun@@ -580,8 +585,8 @@ static PHP_METHOD(amqp_channel_class, setPrefetchCount) 306*4882a593Smuzhiyun } 307*4882a593Smuzhiyun 308*4882a593Smuzhiyun /* Set the prefetch count - the implication is to disable the size */ 309*4882a593Smuzhiyun- zend_update_property_long(this_ce, getThis(), ZEND_STRL("prefetch_count"), prefetch_count TSRMLS_CC); 310*4882a593Smuzhiyun- zend_update_property_long(this_ce, getThis(), ZEND_STRL("prefetch_size"), 0 TSRMLS_CC); 311*4882a593Smuzhiyun+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("prefetch_count"), prefetch_count TSRMLS_CC); 312*4882a593Smuzhiyun+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("prefetch_size"), 0 TSRMLS_CC); 313*4882a593Smuzhiyun 314*4882a593Smuzhiyun RETURN_TRUE; 315*4882a593Smuzhiyun } 316*4882a593Smuzhiyun@@ -659,8 +664,8 @@ static PHP_METHOD(amqp_channel_class, setPrefetchSize) 317*4882a593Smuzhiyun } 318*4882a593Smuzhiyun 319*4882a593Smuzhiyun /* Set the prefetch size - the implication is to disable the count */ 320*4882a593Smuzhiyun- zend_update_property_long(this_ce, getThis(), ZEND_STRL("prefetch_count"), 0 TSRMLS_CC); 321*4882a593Smuzhiyun- zend_update_property_long(this_ce, getThis(), ZEND_STRL("prefetch_size"), prefetch_size TSRMLS_CC); 322*4882a593Smuzhiyun+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("prefetch_count"), 0 TSRMLS_CC); 323*4882a593Smuzhiyun+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("prefetch_size"), prefetch_size TSRMLS_CC); 324*4882a593Smuzhiyun 325*4882a593Smuzhiyun RETURN_TRUE; 326*4882a593Smuzhiyun } 327*4882a593Smuzhiyun@@ -715,8 +720,8 @@ static PHP_METHOD(amqp_channel_class, setGlobalPrefetchCount) 328*4882a593Smuzhiyun } 329*4882a593Smuzhiyun 330*4882a593Smuzhiyun /* Set the global prefetch count - the implication is to disable the size */ 331*4882a593Smuzhiyun- zend_update_property_long(this_ce, getThis(), ZEND_STRL("global_prefetch_count"), global_prefetch_count TSRMLS_CC); 332*4882a593Smuzhiyun- zend_update_property_long(this_ce, getThis(), ZEND_STRL("global_prefetch_size"), 0 TSRMLS_CC); 333*4882a593Smuzhiyun+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("global_prefetch_count"), global_prefetch_count TSRMLS_CC); 334*4882a593Smuzhiyun+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("global_prefetch_size"), 0 TSRMLS_CC); 335*4882a593Smuzhiyun 336*4882a593Smuzhiyun RETURN_TRUE; 337*4882a593Smuzhiyun } 338*4882a593Smuzhiyun@@ -771,8 +776,8 @@ static PHP_METHOD(amqp_channel_class, setGlobalPrefetchSize) 339*4882a593Smuzhiyun } 340*4882a593Smuzhiyun 341*4882a593Smuzhiyun /* Set the global prefetch size - the implication is to disable the count */ 342*4882a593Smuzhiyun- zend_update_property_long(this_ce, getThis(), ZEND_STRL("global_prefetch_count"), 0 TSRMLS_CC); 343*4882a593Smuzhiyun- zend_update_property_long(this_ce, getThis(), ZEND_STRL("global_prefetch_size"), global_prefetch_size TSRMLS_CC); 344*4882a593Smuzhiyun+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("global_prefetch_count"), 0 TSRMLS_CC); 345*4882a593Smuzhiyun+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("global_prefetch_size"), global_prefetch_size TSRMLS_CC); 346*4882a593Smuzhiyun 347*4882a593Smuzhiyun RETURN_TRUE; 348*4882a593Smuzhiyun } 349*4882a593Smuzhiyun@@ -808,11 +813,11 @@ static PHP_METHOD(amqp_channel_class, qos) 350*4882a593Smuzhiyun 351*4882a593Smuzhiyun /* Set the prefetch size and prefetch count */ 352*4882a593Smuzhiyun if (global) { 353*4882a593Smuzhiyun- zend_update_property_long(this_ce, getThis(), ZEND_STRL("global_prefetch_size"), prefetch_size TSRMLS_CC); 354*4882a593Smuzhiyun- zend_update_property_long(this_ce, getThis(), ZEND_STRL("global_prefetch_count"), prefetch_count TSRMLS_CC); 355*4882a593Smuzhiyun+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("global_prefetch_size"), prefetch_size TSRMLS_CC); 356*4882a593Smuzhiyun+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("global_prefetch_count"), prefetch_count TSRMLS_CC); 357*4882a593Smuzhiyun } else { 358*4882a593Smuzhiyun- zend_update_property_long(this_ce, getThis(), ZEND_STRL("prefetch_size"), prefetch_size TSRMLS_CC); 359*4882a593Smuzhiyun- zend_update_property_long(this_ce, getThis(), ZEND_STRL("prefetch_count"), prefetch_count TSRMLS_CC); 360*4882a593Smuzhiyun+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("prefetch_size"), prefetch_size TSRMLS_CC); 361*4882a593Smuzhiyun+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("prefetch_count"), prefetch_count TSRMLS_CC); 362*4882a593Smuzhiyun } 363*4882a593Smuzhiyun 364*4882a593Smuzhiyun /* If we are already connected, set the new prefetch count */ 365*4882a593Smuzhiyundiff --git a/amqp_connection.c b/amqp_connection.c 366*4882a593Smuzhiyunindex 5891a4f..466501a 100644 367*4882a593Smuzhiyun--- a/amqp_connection.c 368*4882a593Smuzhiyun+++ b/amqp_connection.c 369*4882a593Smuzhiyun@@ -68,9 +68,9 @@ zend_object_handlers amqp_connection_object_handlers; 370*4882a593Smuzhiyun convert_to_string(PHP5to7_MAYBE_DEREF(zdata)); \ 371*4882a593Smuzhiyun } \ 372*4882a593Smuzhiyun if (zdata && Z_STRLEN_P(PHP5to7_MAYBE_DEREF(zdata)) > 0) { \ 373*4882a593Smuzhiyun- zend_update_property_string(this_ce, getThis(), ZEND_STRL(name), Z_STRVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); \ 374*4882a593Smuzhiyun+ zend_update_property_string(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL(name), Z_STRVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); \ 375*4882a593Smuzhiyun } else { \ 376*4882a593Smuzhiyun- zend_update_property_string(this_ce, getThis(), ZEND_STRL(name), INI_STR("amqp." name) TSRMLS_CC); \ 377*4882a593Smuzhiyun+ zend_update_property_string(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL(name), INI_STR("amqp." name) TSRMLS_CC); \ 378*4882a593Smuzhiyun } 379*4882a593Smuzhiyun 380*4882a593Smuzhiyun #define PHP_AMQP_EXTRACT_CONNECTION_BOOL(name) \ 381*4882a593Smuzhiyun@@ -80,9 +80,9 @@ zend_object_handlers amqp_connection_object_handlers; 382*4882a593Smuzhiyun convert_to_long(PHP5to7_MAYBE_DEREF(zdata)); \ 383*4882a593Smuzhiyun } \ 384*4882a593Smuzhiyun if (zdata) { \ 385*4882a593Smuzhiyun- zend_update_property_bool(this_ce, getThis(), ZEND_STRL(name), Z_LVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); \ 386*4882a593Smuzhiyun+ zend_update_property_bool(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL(name), Z_LVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); \ 387*4882a593Smuzhiyun } else { \ 388*4882a593Smuzhiyun- zend_update_property_bool(this_ce, getThis(), ZEND_STRL(name), INI_INT("amqp." name) TSRMLS_CC); \ 389*4882a593Smuzhiyun+ zend_update_property_bool(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL(name), INI_INT("amqp." name) TSRMLS_CC); \ 390*4882a593Smuzhiyun } 391*4882a593Smuzhiyun 392*4882a593Smuzhiyun static int php_amqp_connection_resource_deleter(PHP5to7_zend_resource_le_t *el, amqp_connection_resource *connection_resource TSRMLS_DC) 393*4882a593Smuzhiyun@@ -344,13 +344,13 @@ static PHP_METHOD(amqp_connection_class, __construct) 394*4882a593Smuzhiyun /* Validate the given login */ 395*4882a593Smuzhiyun if (zdata && Z_STRLEN_P(PHP5to7_MAYBE_DEREF(zdata)) > 0) { 396*4882a593Smuzhiyun if (Z_STRLEN_P(PHP5to7_MAYBE_DEREF(zdata)) < 128) { 397*4882a593Smuzhiyun- zend_update_property(this_ce, getThis(), ZEND_STRL("login"), PHP5to7_MAYBE_DEREF(zdata)TSRMLS_CC); 398*4882a593Smuzhiyun+ zend_update_property(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("login"), PHP5to7_MAYBE_DEREF(zdata)TSRMLS_CC); 399*4882a593Smuzhiyun } else { 400*4882a593Smuzhiyun zend_throw_exception(amqp_connection_exception_class_entry, "Parameter 'login' exceeds 128 character limit.", 0 TSRMLS_CC); 401*4882a593Smuzhiyun return; 402*4882a593Smuzhiyun } 403*4882a593Smuzhiyun } else { 404*4882a593Smuzhiyun- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("login"), INI_STR("amqp.login"), (PHP5to7_param_str_len_type_t) (strlen(INI_STR("amqp.login")) > 128 ? 128 : strlen(INI_STR("amqp.login"))) TSRMLS_CC); 405*4882a593Smuzhiyun+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("login"), INI_STR("amqp.login"), (PHP5to7_param_str_len_type_t) (strlen(INI_STR("amqp.login")) > 128 ? 128 : strlen(INI_STR("amqp.login"))) TSRMLS_CC); 406*4882a593Smuzhiyun } 407*4882a593Smuzhiyun 408*4882a593Smuzhiyun /* Pull the password out of the $params array */ 409*4882a593Smuzhiyun@@ -362,13 +362,13 @@ static PHP_METHOD(amqp_connection_class, __construct) 410*4882a593Smuzhiyun /* Validate the given password */ 411*4882a593Smuzhiyun if (zdata && Z_STRLEN_P(PHP5to7_MAYBE_DEREF(zdata)) > 0) { 412*4882a593Smuzhiyun if (Z_STRLEN_P(PHP5to7_MAYBE_DEREF(zdata)) < 128) { 413*4882a593Smuzhiyun- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("password"), Z_STRVAL_P(PHP5to7_MAYBE_DEREF(zdata)), Z_STRLEN_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); 414*4882a593Smuzhiyun+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("password"), Z_STRVAL_P(PHP5to7_MAYBE_DEREF(zdata)), Z_STRLEN_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); 415*4882a593Smuzhiyun } else { 416*4882a593Smuzhiyun zend_throw_exception(amqp_connection_exception_class_entry, "Parameter 'password' exceeds 128 character limit.", 0 TSRMLS_CC); 417*4882a593Smuzhiyun return; 418*4882a593Smuzhiyun } 419*4882a593Smuzhiyun } else { 420*4882a593Smuzhiyun- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("password"), INI_STR("amqp.password"), (PHP5to7_param_str_len_type_t) (strlen(INI_STR("amqp.password")) > 128 ? 128 : strlen(INI_STR("amqp.password"))) TSRMLS_CC); 421*4882a593Smuzhiyun+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("password"), INI_STR("amqp.password"), (PHP5to7_param_str_len_type_t) (strlen(INI_STR("amqp.password")) > 128 ? 128 : strlen(INI_STR("amqp.password"))) TSRMLS_CC); 422*4882a593Smuzhiyun } 423*4882a593Smuzhiyun 424*4882a593Smuzhiyun /* Pull the host out of the $params array */ 425*4882a593Smuzhiyun@@ -380,13 +380,13 @@ static PHP_METHOD(amqp_connection_class, __construct) 426*4882a593Smuzhiyun /* Validate the given host */ 427*4882a593Smuzhiyun if (zdata && Z_STRLEN_P(PHP5to7_MAYBE_DEREF(zdata)) > 0) { 428*4882a593Smuzhiyun if (Z_STRLEN_P(PHP5to7_MAYBE_DEREF(zdata)) < 128) { 429*4882a593Smuzhiyun- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("host"), Z_STRVAL_P(PHP5to7_MAYBE_DEREF(zdata)), Z_STRLEN_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); 430*4882a593Smuzhiyun+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("host"), Z_STRVAL_P(PHP5to7_MAYBE_DEREF(zdata)), Z_STRLEN_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); 431*4882a593Smuzhiyun } else { 432*4882a593Smuzhiyun zend_throw_exception(amqp_connection_exception_class_entry, "Parameter 'host' exceeds 128 character limit.", 0 TSRMLS_CC); 433*4882a593Smuzhiyun return; 434*4882a593Smuzhiyun } 435*4882a593Smuzhiyun } else { 436*4882a593Smuzhiyun- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("host"), INI_STR("amqp.host"), (PHP5to7_param_str_len_type_t) (strlen(INI_STR("amqp.host")) > 128 ? 128 : strlen(INI_STR("amqp.host"))) TSRMLS_CC); 437*4882a593Smuzhiyun+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("host"), INI_STR("amqp.host"), (PHP5to7_param_str_len_type_t) (strlen(INI_STR("amqp.host")) > 128 ? 128 : strlen(INI_STR("amqp.host"))) TSRMLS_CC); 438*4882a593Smuzhiyun } 439*4882a593Smuzhiyun 440*4882a593Smuzhiyun /* Pull the vhost out of the $params array */ 441*4882a593Smuzhiyun@@ -398,25 +398,25 @@ static PHP_METHOD(amqp_connection_class, __construct) 442*4882a593Smuzhiyun /* Validate the given vhost */ 443*4882a593Smuzhiyun if (zdata && Z_STRLEN_P(PHP5to7_MAYBE_DEREF(zdata)) > 0) { 444*4882a593Smuzhiyun if (Z_STRLEN_P(PHP5to7_MAYBE_DEREF(zdata)) < 128) { 445*4882a593Smuzhiyun- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("vhost"), Z_STRVAL_P(PHP5to7_MAYBE_DEREF(zdata)), Z_STRLEN_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); 446*4882a593Smuzhiyun+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("vhost"), Z_STRVAL_P(PHP5to7_MAYBE_DEREF(zdata)), Z_STRLEN_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); 447*4882a593Smuzhiyun } else { 448*4882a593Smuzhiyun zend_throw_exception(amqp_connection_exception_class_entry, "Parameter 'vhost' exceeds 128 character limit.", 0 TSRMLS_CC); 449*4882a593Smuzhiyun return; 450*4882a593Smuzhiyun } 451*4882a593Smuzhiyun } else { 452*4882a593Smuzhiyun- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("vhost"), INI_STR("amqp.vhost"), (PHP5to7_param_str_len_type_t) (strlen(INI_STR("amqp.vhost")) > 128 ? 128 : strlen(INI_STR("amqp.vhost"))) TSRMLS_CC); 453*4882a593Smuzhiyun+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("vhost"), INI_STR("amqp.vhost"), (PHP5to7_param_str_len_type_t) (strlen(INI_STR("amqp.vhost")) > 128 ? 128 : strlen(INI_STR("amqp.vhost"))) TSRMLS_CC); 454*4882a593Smuzhiyun 455*4882a593Smuzhiyun } 456*4882a593Smuzhiyun 457*4882a593Smuzhiyun- zend_update_property_long(this_ce, getThis(), ZEND_STRL("port"), INI_INT("amqp.port") TSRMLS_CC); 458*4882a593Smuzhiyun+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("port"), INI_INT("amqp.port") TSRMLS_CC); 459*4882a593Smuzhiyun 460*4882a593Smuzhiyun if (ini_arr && PHP5to7_ZEND_HASH_FIND(HASH_OF(ini_arr), "port", sizeof("port"), zdata)) { 461*4882a593Smuzhiyun SEPARATE_ZVAL(zdata); 462*4882a593Smuzhiyun convert_to_long(PHP5to7_MAYBE_DEREF(zdata)); 463*4882a593Smuzhiyun- zend_update_property_long(this_ce, getThis(), ZEND_STRL("port"), Z_LVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); 464*4882a593Smuzhiyun+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("port"), Z_LVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); 465*4882a593Smuzhiyun } 466*4882a593Smuzhiyun 467*4882a593Smuzhiyun- zend_update_property_double(this_ce, getThis(), ZEND_STRL("read_timeout"), INI_FLT("amqp.read_timeout") TSRMLS_CC); 468*4882a593Smuzhiyun+ zend_update_property_double(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("read_timeout"), INI_FLT("amqp.read_timeout") TSRMLS_CC); 469*4882a593Smuzhiyun 470*4882a593Smuzhiyun if (ini_arr && PHP5to7_ZEND_HASH_FIND(HASH_OF(ini_arr), "read_timeout", sizeof("read_timeout"), zdata)) { 471*4882a593Smuzhiyun SEPARATE_ZVAL(zdata); 472*4882a593Smuzhiyun@@ -424,7 +424,7 @@ static PHP_METHOD(amqp_connection_class, __construct) 473*4882a593Smuzhiyun if (Z_DVAL_P(PHP5to7_MAYBE_DEREF(zdata)) < 0) { 474*4882a593Smuzhiyun zend_throw_exception(amqp_connection_exception_class_entry, "Parameter 'read_timeout' must be greater than or equal to zero.", 0 TSRMLS_CC); 475*4882a593Smuzhiyun } else { 476*4882a593Smuzhiyun- zend_update_property_double(this_ce, getThis(), ZEND_STRL("read_timeout"), Z_DVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); 477*4882a593Smuzhiyun+ zend_update_property_double(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("read_timeout"), Z_DVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); 478*4882a593Smuzhiyun } 479*4882a593Smuzhiyun 480*4882a593Smuzhiyun if (ini_arr && PHP5to7_ZEND_HASH_FIND(HASH_OF(ini_arr), "timeout", sizeof("timeout"), zdata)) { 481*4882a593Smuzhiyun@@ -441,7 +441,7 @@ static PHP_METHOD(amqp_connection_class, __construct) 482*4882a593Smuzhiyun if (Z_DVAL_P(PHP5to7_MAYBE_DEREF(zdata)) < 0) { 483*4882a593Smuzhiyun zend_throw_exception(amqp_connection_exception_class_entry, "Parameter 'timeout' must be greater than or equal to zero.", 0 TSRMLS_CC); 484*4882a593Smuzhiyun } else { 485*4882a593Smuzhiyun- zend_update_property_double(this_ce, getThis(), ZEND_STRL("read_timeout"), Z_DVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); 486*4882a593Smuzhiyun+ zend_update_property_double(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("read_timeout"), Z_DVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); 487*4882a593Smuzhiyun } 488*4882a593Smuzhiyun } else { 489*4882a593Smuzhiyun 490*4882a593Smuzhiyun@@ -450,17 +450,17 @@ static PHP_METHOD(amqp_connection_class, __construct) 491*4882a593Smuzhiyun php_error_docref(NULL TSRMLS_CC, E_DEPRECATED, "INI setting 'amqp.timeout' is deprecated; use 'amqp.read_timeout' instead"); 492*4882a593Smuzhiyun 493*4882a593Smuzhiyun if (strcmp(DEFAULT_READ_TIMEOUT, INI_STR("amqp.read_timeout")) == 0) { 494*4882a593Smuzhiyun- zend_update_property_double(this_ce, getThis(), ZEND_STRL("read_timeout"), INI_FLT("amqp.timeout") TSRMLS_CC); 495*4882a593Smuzhiyun+ zend_update_property_double(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("read_timeout"), INI_FLT("amqp.timeout") TSRMLS_CC); 496*4882a593Smuzhiyun } else { 497*4882a593Smuzhiyun php_error_docref(NULL TSRMLS_CC, E_NOTICE, "INI setting 'amqp.read_timeout' will be used instead of 'amqp.timeout'"); 498*4882a593Smuzhiyun- zend_update_property_double(this_ce, getThis(), ZEND_STRL("read_timeout"), INI_FLT("amqp.read_timeout") TSRMLS_CC); 499*4882a593Smuzhiyun+ zend_update_property_double(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("read_timeout"), INI_FLT("amqp.read_timeout") TSRMLS_CC); 500*4882a593Smuzhiyun } 501*4882a593Smuzhiyun } else { 502*4882a593Smuzhiyun- zend_update_property_double(this_ce, getThis(), ZEND_STRL("read_timeout"), INI_FLT("amqp.read_timeout") TSRMLS_CC); 503*4882a593Smuzhiyun+ zend_update_property_double(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("read_timeout"), INI_FLT("amqp.read_timeout") TSRMLS_CC); 504*4882a593Smuzhiyun } 505*4882a593Smuzhiyun } 506*4882a593Smuzhiyun 507*4882a593Smuzhiyun- zend_update_property_double(this_ce, getThis(), ZEND_STRL("write_timeout"), INI_FLT("amqp.write_timeout") TSRMLS_CC); 508*4882a593Smuzhiyun+ zend_update_property_double(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("write_timeout"), INI_FLT("amqp.write_timeout") TSRMLS_CC); 509*4882a593Smuzhiyun 510*4882a593Smuzhiyun if (ini_arr && PHP5to7_ZEND_HASH_FIND(HASH_OF(ini_arr), "write_timeout", sizeof("write_timeout"), zdata)) { 511*4882a593Smuzhiyun SEPARATE_ZVAL(zdata); 512*4882a593Smuzhiyun@@ -468,11 +468,11 @@ static PHP_METHOD(amqp_connection_class, __construct) 513*4882a593Smuzhiyun if (Z_DVAL_P(PHP5to7_MAYBE_DEREF(zdata)) < 0) { 514*4882a593Smuzhiyun zend_throw_exception(amqp_connection_exception_class_entry, "Parameter 'write_timeout' must be greater than or equal to zero.", 0 TSRMLS_CC); 515*4882a593Smuzhiyun } else { 516*4882a593Smuzhiyun- zend_update_property_double(this_ce, getThis(), ZEND_STRL("write_timeout"), Z_DVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); 517*4882a593Smuzhiyun+ zend_update_property_double(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("write_timeout"), Z_DVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); 518*4882a593Smuzhiyun } 519*4882a593Smuzhiyun } 520*4882a593Smuzhiyun 521*4882a593Smuzhiyun- zend_update_property_double(this_ce, getThis(), ZEND_STRL("rpc_timeout"), INI_FLT("amqp.rpc_timeout") TSRMLS_CC); 522*4882a593Smuzhiyun+ zend_update_property_double(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("rpc_timeout"), INI_FLT("amqp.rpc_timeout") TSRMLS_CC); 523*4882a593Smuzhiyun 524*4882a593Smuzhiyun if (ini_arr && PHP5to7_ZEND_HASH_FIND(HASH_OF(ini_arr), "rpc_timeout", sizeof("rpc_timeout"), zdata)) { 525*4882a593Smuzhiyun SEPARATE_ZVAL(zdata); 526*4882a593Smuzhiyun@@ -480,11 +480,11 @@ static PHP_METHOD(amqp_connection_class, __construct) 527*4882a593Smuzhiyun if (Z_DVAL_P(PHP5to7_MAYBE_DEREF(zdata)) < 0) { 528*4882a593Smuzhiyun zend_throw_exception(amqp_connection_exception_class_entry, "Parameter 'rpc_timeout' must be greater than or equal to zero.", 0 TSRMLS_CC); 529*4882a593Smuzhiyun } else { 530*4882a593Smuzhiyun- zend_update_property_double(this_ce, getThis(), ZEND_STRL("rpc_timeout"), Z_DVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); 531*4882a593Smuzhiyun+ zend_update_property_double(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("rpc_timeout"), Z_DVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); 532*4882a593Smuzhiyun } 533*4882a593Smuzhiyun } 534*4882a593Smuzhiyun 535*4882a593Smuzhiyun- zend_update_property_double(this_ce, getThis(), ZEND_STRL("connect_timeout"), INI_FLT("amqp.connect_timeout") TSRMLS_CC); 536*4882a593Smuzhiyun+ zend_update_property_double(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("connect_timeout"), INI_FLT("amqp.connect_timeout") TSRMLS_CC); 537*4882a593Smuzhiyun 538*4882a593Smuzhiyun if (ini_arr && PHP5to7_ZEND_HASH_FIND(HASH_OF(ini_arr), "connect_timeout", sizeof("connect_timeout"), zdata)) { 539*4882a593Smuzhiyun SEPARATE_ZVAL(zdata); 540*4882a593Smuzhiyun@@ -492,12 +492,12 @@ static PHP_METHOD(amqp_connection_class, __construct) 541*4882a593Smuzhiyun if (Z_DVAL_P(PHP5to7_MAYBE_DEREF(zdata)) < 0) { 542*4882a593Smuzhiyun zend_throw_exception(amqp_connection_exception_class_entry, "Parameter 'connect_timeout' must be greater than or equal to zero.", 0 TSRMLS_CC); 543*4882a593Smuzhiyun } else { 544*4882a593Smuzhiyun- zend_update_property_double(this_ce, getThis(), ZEND_STRL("connect_timeout"), Z_DVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); 545*4882a593Smuzhiyun+ zend_update_property_double(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("connect_timeout"), Z_DVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); 546*4882a593Smuzhiyun 547*4882a593Smuzhiyun } 548*4882a593Smuzhiyun } 549*4882a593Smuzhiyun 550*4882a593Smuzhiyun- zend_update_property_long(this_ce, getThis(), ZEND_STRL("channel_max"), INI_INT("amqp.channel_max") TSRMLS_CC); 551*4882a593Smuzhiyun+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("channel_max"), INI_INT("amqp.channel_max") TSRMLS_CC); 552*4882a593Smuzhiyun 553*4882a593Smuzhiyun if (ini_arr && PHP5to7_ZEND_HASH_FIND(HASH_OF(ini_arr), "channel_max", sizeof("channel_max"), zdata)) { 554*4882a593Smuzhiyun SEPARATE_ZVAL(zdata); 555*4882a593Smuzhiyun@@ -506,14 +506,14 @@ static PHP_METHOD(amqp_connection_class, __construct) 556*4882a593Smuzhiyun zend_throw_exception(amqp_connection_exception_class_entry, "Parameter 'channel_max' is out of range.", 0 TSRMLS_CC); 557*4882a593Smuzhiyun } else { 558*4882a593Smuzhiyun if(Z_LVAL_P(PHP5to7_MAYBE_DEREF(zdata)) == 0) { 559*4882a593Smuzhiyun- zend_update_property_long(this_ce, getThis(), ZEND_STRL("channel_max"), PHP_AMQP_DEFAULT_CHANNEL_MAX TSRMLS_CC); 560*4882a593Smuzhiyun+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("channel_max"), PHP_AMQP_DEFAULT_CHANNEL_MAX TSRMLS_CC); 561*4882a593Smuzhiyun } else { 562*4882a593Smuzhiyun- zend_update_property_long(this_ce, getThis(), ZEND_STRL("channel_max"), Z_LVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); 563*4882a593Smuzhiyun+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("channel_max"), Z_LVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); 564*4882a593Smuzhiyun } 565*4882a593Smuzhiyun } 566*4882a593Smuzhiyun } 567*4882a593Smuzhiyun 568*4882a593Smuzhiyun- zend_update_property_long(this_ce, getThis(), ZEND_STRL("frame_max"), INI_INT("amqp.frame_max") TSRMLS_CC); 569*4882a593Smuzhiyun+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("frame_max"), INI_INT("amqp.frame_max") TSRMLS_CC); 570*4882a593Smuzhiyun 571*4882a593Smuzhiyun if (ini_arr && PHP5to7_ZEND_HASH_FIND(HASH_OF(ini_arr), "frame_max", sizeof("frame_max"), zdata)) { 572*4882a593Smuzhiyun SEPARATE_ZVAL(zdata); 573*4882a593Smuzhiyun@@ -522,14 +522,14 @@ static PHP_METHOD(amqp_connection_class, __construct) 574*4882a593Smuzhiyun zend_throw_exception(amqp_connection_exception_class_entry, "Parameter 'frame_max' is out of range.", 0 TSRMLS_CC); 575*4882a593Smuzhiyun } else { 576*4882a593Smuzhiyun if(Z_LVAL_P(PHP5to7_MAYBE_DEREF(zdata)) == 0) { 577*4882a593Smuzhiyun- zend_update_property_long(this_ce, getThis(), ZEND_STRL("frame_max"), PHP_AMQP_DEFAULT_FRAME_MAX TSRMLS_CC); 578*4882a593Smuzhiyun+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("frame_max"), PHP_AMQP_DEFAULT_FRAME_MAX TSRMLS_CC); 579*4882a593Smuzhiyun } else { 580*4882a593Smuzhiyun- zend_update_property_long(this_ce, getThis(), ZEND_STRL("frame_max"), Z_LVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); 581*4882a593Smuzhiyun+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("frame_max"), Z_LVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); 582*4882a593Smuzhiyun } 583*4882a593Smuzhiyun } 584*4882a593Smuzhiyun } 585*4882a593Smuzhiyun 586*4882a593Smuzhiyun- zend_update_property_long(this_ce, getThis(), ZEND_STRL("heartbeat"), INI_INT("amqp.heartbeat") TSRMLS_CC); 587*4882a593Smuzhiyun+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("heartbeat"), INI_INT("amqp.heartbeat") TSRMLS_CC); 588*4882a593Smuzhiyun 589*4882a593Smuzhiyun if (ini_arr && PHP5to7_ZEND_HASH_FIND(HASH_OF(ini_arr), "heartbeat", sizeof("heartbeat"), zdata)) { 590*4882a593Smuzhiyun SEPARATE_ZVAL(zdata); 591*4882a593Smuzhiyun@@ -537,16 +537,16 @@ static PHP_METHOD(amqp_connection_class, __construct) 592*4882a593Smuzhiyun if (Z_LVAL_P(PHP5to7_MAYBE_DEREF(zdata)) < 0 || Z_LVAL_P(PHP5to7_MAYBE_DEREF(zdata)) > PHP_AMQP_MAX_HEARTBEAT) { 593*4882a593Smuzhiyun zend_throw_exception(amqp_connection_exception_class_entry, "Parameter 'heartbeat' is out of range.", 0 TSRMLS_CC); 594*4882a593Smuzhiyun } else { 595*4882a593Smuzhiyun- zend_update_property_long(this_ce, getThis(), ZEND_STRL("heartbeat"), Z_LVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); 596*4882a593Smuzhiyun+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("heartbeat"), Z_LVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); 597*4882a593Smuzhiyun } 598*4882a593Smuzhiyun } 599*4882a593Smuzhiyun 600*4882a593Smuzhiyun- zend_update_property_long(this_ce, getThis(), ZEND_STRL("sasl_method"), INI_INT("amqp.sasl_method") TSRMLS_CC); 601*4882a593Smuzhiyun+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("sasl_method"), INI_INT("amqp.sasl_method") TSRMLS_CC); 602*4882a593Smuzhiyun 603*4882a593Smuzhiyun if (ini_arr && PHP5to7_ZEND_HASH_FIND(HASH_OF(ini_arr), "sasl_method", sizeof("sasl_method"), zdata)) { 604*4882a593Smuzhiyun SEPARATE_ZVAL(zdata); 605*4882a593Smuzhiyun convert_to_long(PHP5to7_MAYBE_DEREF(zdata)); 606*4882a593Smuzhiyun- zend_update_property_long(this_ce, getThis(), ZEND_STRL("sasl_method"), Z_LVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); 607*4882a593Smuzhiyun+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("sasl_method"), Z_LVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); 608*4882a593Smuzhiyun } 609*4882a593Smuzhiyun 610*4882a593Smuzhiyun 611*4882a593Smuzhiyun@@ -563,7 +563,7 @@ static PHP_METHOD(amqp_connection_class, __construct) 612*4882a593Smuzhiyun convert_to_string(PHP5to7_MAYBE_DEREF(zdata)); 613*4882a593Smuzhiyun } 614*4882a593Smuzhiyun if (zdata && Z_STRLEN_P(PHP5to7_MAYBE_DEREF(zdata)) > 0) { 615*4882a593Smuzhiyun- zend_update_property_string(this_ce, getThis(), ZEND_STRL("connection_name"), Z_STRVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); 616*4882a593Smuzhiyun+ zend_update_property_string(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("connection_name"), Z_STRVAL_P(PHP5to7_MAYBE_DEREF(zdata)) TSRMLS_CC); 617*4882a593Smuzhiyun } 618*4882a593Smuzhiyun } 619*4882a593Smuzhiyun /* }}} */ 620*4882a593Smuzhiyun@@ -789,7 +789,7 @@ static PHP_METHOD(amqp_connection_class, setLogin) 621*4882a593Smuzhiyun return; 622*4882a593Smuzhiyun } 623*4882a593Smuzhiyun 624*4882a593Smuzhiyun- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("login"), login, login_len TSRMLS_CC); 625*4882a593Smuzhiyun+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("login"), login, login_len TSRMLS_CC); 626*4882a593Smuzhiyun 627*4882a593Smuzhiyun RETURN_TRUE; 628*4882a593Smuzhiyun } 629*4882a593Smuzhiyun@@ -823,7 +823,7 @@ static PHP_METHOD(amqp_connection_class, setPassword) 630*4882a593Smuzhiyun return; 631*4882a593Smuzhiyun } 632*4882a593Smuzhiyun 633*4882a593Smuzhiyun- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("password"), password, password_len TSRMLS_CC); 634*4882a593Smuzhiyun+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("password"), password, password_len TSRMLS_CC); 635*4882a593Smuzhiyun 636*4882a593Smuzhiyun RETURN_TRUE; 637*4882a593Smuzhiyun } 638*4882a593Smuzhiyun@@ -858,7 +858,7 @@ static PHP_METHOD(amqp_connection_class, setHost) 639*4882a593Smuzhiyun return; 640*4882a593Smuzhiyun } 641*4882a593Smuzhiyun 642*4882a593Smuzhiyun- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("host"), host, host_len TSRMLS_CC); 643*4882a593Smuzhiyun+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("host"), host, host_len TSRMLS_CC); 644*4882a593Smuzhiyun 645*4882a593Smuzhiyun RETURN_TRUE; 646*4882a593Smuzhiyun } 647*4882a593Smuzhiyun@@ -910,7 +910,7 @@ static PHP_METHOD(amqp_connection_class, setPort) 648*4882a593Smuzhiyun return; 649*4882a593Smuzhiyun } 650*4882a593Smuzhiyun 651*4882a593Smuzhiyun- zend_update_property_long(this_ce, getThis(), ZEND_STRL("port"), port TSRMLS_CC); 652*4882a593Smuzhiyun+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("port"), port TSRMLS_CC); 653*4882a593Smuzhiyun 654*4882a593Smuzhiyun RETURN_TRUE; 655*4882a593Smuzhiyun } 656*4882a593Smuzhiyun@@ -943,7 +943,7 @@ static PHP_METHOD(amqp_connection_class, setVhost) 657*4882a593Smuzhiyun return; 658*4882a593Smuzhiyun } 659*4882a593Smuzhiyun 660*4882a593Smuzhiyun- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("vhost"), vhost, vhost_len TSRMLS_CC); 661*4882a593Smuzhiyun+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("vhost"), vhost, vhost_len TSRMLS_CC); 662*4882a593Smuzhiyun 663*4882a593Smuzhiyun RETURN_TRUE; 664*4882a593Smuzhiyun } 665*4882a593Smuzhiyun@@ -986,7 +986,7 @@ static PHP_METHOD(amqp_connection_class, setTimeout) 666*4882a593Smuzhiyun /* Get the connection object out of the store */ 667*4882a593Smuzhiyun connection = PHP_AMQP_GET_CONNECTION(getThis()); 668*4882a593Smuzhiyun 669*4882a593Smuzhiyun- zend_update_property_double(this_ce, getThis(), ZEND_STRL("read_timeout"), read_timeout TSRMLS_CC); 670*4882a593Smuzhiyun+ zend_update_property_double(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("read_timeout"), read_timeout TSRMLS_CC); 671*4882a593Smuzhiyun 672*4882a593Smuzhiyun if (connection->connection_resource && connection->connection_resource->is_connected) { 673*4882a593Smuzhiyun if (php_amqp_set_resource_read_timeout(connection->connection_resource, read_timeout TSRMLS_CC) == 0) { 674*4882a593Smuzhiyun@@ -1032,7 +1032,7 @@ static PHP_METHOD(amqp_connection_class, setReadTimeout) 675*4882a593Smuzhiyun /* Get the connection object out of the store */ 676*4882a593Smuzhiyun connection = PHP_AMQP_GET_CONNECTION(getThis()); 677*4882a593Smuzhiyun 678*4882a593Smuzhiyun- zend_update_property_double(this_ce, getThis(), ZEND_STRL("read_timeout"), read_timeout TSRMLS_CC); 679*4882a593Smuzhiyun+ zend_update_property_double(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("read_timeout"), read_timeout TSRMLS_CC); 680*4882a593Smuzhiyun 681*4882a593Smuzhiyun if (connection->connection_resource && connection->connection_resource->is_connected) { 682*4882a593Smuzhiyun if (php_amqp_set_resource_read_timeout(connection->connection_resource, read_timeout TSRMLS_CC) == 0) { 683*4882a593Smuzhiyun@@ -1078,7 +1078,7 @@ static PHP_METHOD(amqp_connection_class, setWriteTimeout) 684*4882a593Smuzhiyun /* Get the connection object out of the store */ 685*4882a593Smuzhiyun connection = PHP_AMQP_GET_CONNECTION(getThis()); 686*4882a593Smuzhiyun 687*4882a593Smuzhiyun- zend_update_property_double(this_ce, getThis(), ZEND_STRL("write_timeout"), write_timeout TSRMLS_CC); 688*4882a593Smuzhiyun+ zend_update_property_double(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("write_timeout"), write_timeout TSRMLS_CC); 689*4882a593Smuzhiyun 690*4882a593Smuzhiyun if (connection->connection_resource && connection->connection_resource->is_connected) { 691*4882a593Smuzhiyun if (php_amqp_set_resource_write_timeout(connection->connection_resource, write_timeout TSRMLS_CC) == 0) { 692*4882a593Smuzhiyun@@ -1124,7 +1124,7 @@ static PHP_METHOD(amqp_connection_class, setRpcTimeout) 693*4882a593Smuzhiyun /* Get the connection object out of the store */ 694*4882a593Smuzhiyun connection = PHP_AMQP_GET_CONNECTION(getThis()); 695*4882a593Smuzhiyun 696*4882a593Smuzhiyun- zend_update_property_double(this_ce, getThis(), ZEND_STRL("rpc_timeout"), rpc_timeout TSRMLS_CC); 697*4882a593Smuzhiyun+ zend_update_property_double(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("rpc_timeout"), rpc_timeout TSRMLS_CC); 698*4882a593Smuzhiyun 699*4882a593Smuzhiyun if (connection->connection_resource && connection->connection_resource->is_connected) { 700*4882a593Smuzhiyun if (php_amqp_set_resource_rpc_timeout(connection->connection_resource, rpc_timeout TSRMLS_CC) == 0) { 701*4882a593Smuzhiyun@@ -1255,7 +1255,7 @@ static PHP_METHOD(amqp_connection_class, setCACert) 702*4882a593Smuzhiyun return; 703*4882a593Smuzhiyun } 704*4882a593Smuzhiyun 705*4882a593Smuzhiyun- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("cacert"), str, str_len TSRMLS_CC); 706*4882a593Smuzhiyun+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("cacert"), str, str_len TSRMLS_CC); 707*4882a593Smuzhiyun 708*4882a593Smuzhiyun RETURN_TRUE; 709*4882a593Smuzhiyun } 710*4882a593Smuzhiyun@@ -1279,7 +1279,7 @@ static PHP_METHOD(amqp_connection_class, setCert) 711*4882a593Smuzhiyun return; 712*4882a593Smuzhiyun } 713*4882a593Smuzhiyun 714*4882a593Smuzhiyun- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("cert"), str, str_len TSRMLS_CC); 715*4882a593Smuzhiyun+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("cert"), str, str_len TSRMLS_CC); 716*4882a593Smuzhiyun 717*4882a593Smuzhiyun RETURN_TRUE; 718*4882a593Smuzhiyun } 719*4882a593Smuzhiyun@@ -1303,7 +1303,7 @@ static PHP_METHOD(amqp_connection_class, setKey) 720*4882a593Smuzhiyun return; 721*4882a593Smuzhiyun } 722*4882a593Smuzhiyun 723*4882a593Smuzhiyun- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("key"), str, str_len TSRMLS_CC); 724*4882a593Smuzhiyun+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("key"), str, str_len TSRMLS_CC); 725*4882a593Smuzhiyun 726*4882a593Smuzhiyun RETURN_TRUE; 727*4882a593Smuzhiyun } 728*4882a593Smuzhiyun@@ -1328,7 +1328,7 @@ static PHP_METHOD(amqp_connection_class, setVerify) 729*4882a593Smuzhiyun return; 730*4882a593Smuzhiyun } 731*4882a593Smuzhiyun 732*4882a593Smuzhiyun- zend_update_property_bool(this_ce, getThis(), ZEND_STRL("verify"), verify TSRMLS_CC); 733*4882a593Smuzhiyun+ zend_update_property_bool(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("verify"), verify TSRMLS_CC); 734*4882a593Smuzhiyun 735*4882a593Smuzhiyun RETURN_TRUE; 736*4882a593Smuzhiyun } 737*4882a593Smuzhiyun@@ -1361,7 +1361,7 @@ static PHP_METHOD(amqp_connection_class, setSaslMethod) 738*4882a593Smuzhiyun return; 739*4882a593Smuzhiyun } 740*4882a593Smuzhiyun 741*4882a593Smuzhiyun- zend_update_property_long(this_ce, getThis(), ZEND_STRL("sasl_method"), method TSRMLS_CC); 742*4882a593Smuzhiyun+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("sasl_method"), method TSRMLS_CC); 743*4882a593Smuzhiyun 744*4882a593Smuzhiyun RETURN_TRUE; 745*4882a593Smuzhiyun } 746*4882a593Smuzhiyun@@ -1385,9 +1385,9 @@ static PHP_METHOD(amqp_connection_class, setConnectionName) 747*4882a593Smuzhiyun return; 748*4882a593Smuzhiyun } 749*4882a593Smuzhiyun if (str == NULL) { 750*4882a593Smuzhiyun- zend_update_property_null(this_ce, getThis(), ZEND_STRL("connection_name") TSRMLS_CC); 751*4882a593Smuzhiyun+ zend_update_property_null(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("connection_name") TSRMLS_CC); 752*4882a593Smuzhiyun } else { 753*4882a593Smuzhiyun- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("connection_name"), str, str_len TSRMLS_CC); 754*4882a593Smuzhiyun+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("connection_name"), str, str_len TSRMLS_CC); 755*4882a593Smuzhiyun } 756*4882a593Smuzhiyun 757*4882a593Smuzhiyun 758*4882a593Smuzhiyundiff --git a/amqp_connection_resource.c b/amqp_connection_resource.c 759*4882a593Smuzhiyunindex 7e20a5c..b0e065a 100644 760*4882a593Smuzhiyun--- a/amqp_connection_resource.c 761*4882a593Smuzhiyun+++ b/amqp_connection_resource.c 762*4882a593Smuzhiyun@@ -112,15 +112,15 @@ static void php_amqp_close_connection_from_server(amqp_rpc_reply_t reply, char * 763*4882a593Smuzhiyun 764*4882a593Smuzhiyun if (!reply.reply.id) { 765*4882a593Smuzhiyun PHP_AMQP_G(error_code) = -1; 766*4882a593Smuzhiyun- spprintf(message, 0, "Server connection error: %d, message: %s", 767*4882a593Smuzhiyun- PHP_AMQP_G(error_code), 768*4882a593Smuzhiyun+ spprintf(message, 0, "Server connection error: %ld, message: %s", 769*4882a593Smuzhiyun+ (long)PHP_AMQP_G(error_code), 770*4882a593Smuzhiyun "unexpected response" 771*4882a593Smuzhiyun ); 772*4882a593Smuzhiyun } else { 773*4882a593Smuzhiyun PHP_AMQP_G(error_code) = m->reply_code; 774*4882a593Smuzhiyun spprintf(message, 0, "Server connection error: %d, message: %.*s", 775*4882a593Smuzhiyun m->reply_code, 776*4882a593Smuzhiyun- (PHP5to7_param_str_len_type_t) m->reply_text.len, 777*4882a593Smuzhiyun+ (int) m->reply_text.len, 778*4882a593Smuzhiyun (char *) m->reply_text.bytes 779*4882a593Smuzhiyun ); 780*4882a593Smuzhiyun } 781*4882a593Smuzhiyun@@ -156,15 +156,15 @@ static void php_amqp_close_channel_from_server(amqp_rpc_reply_t reply, char **me 782*4882a593Smuzhiyun 783*4882a593Smuzhiyun if (!reply.reply.id) { 784*4882a593Smuzhiyun PHP_AMQP_G(error_code) = -1; 785*4882a593Smuzhiyun- spprintf(message, 0, "Server channel error: %d, message: %s", 786*4882a593Smuzhiyun- PHP_AMQP_G(error_code), 787*4882a593Smuzhiyun+ spprintf(message, 0, "Server channel error: %ld, message: %s", 788*4882a593Smuzhiyun+ (long)PHP_AMQP_G(error_code), 789*4882a593Smuzhiyun "unexpected response" 790*4882a593Smuzhiyun ); 791*4882a593Smuzhiyun } else { 792*4882a593Smuzhiyun PHP_AMQP_G(error_code) = m->reply_code; 793*4882a593Smuzhiyun spprintf(message, 0, "Server channel error: %d, message: %.*s", 794*4882a593Smuzhiyun m->reply_code, 795*4882a593Smuzhiyun- (PHP5to7_param_str_len_type_t) m->reply_text.len, 796*4882a593Smuzhiyun+ (int) m->reply_text.len, 797*4882a593Smuzhiyun (char *)m->reply_text.bytes 798*4882a593Smuzhiyun ); 799*4882a593Smuzhiyun } 800*4882a593Smuzhiyundiff --git a/amqp_decimal.c b/amqp_decimal.c 801*4882a593Smuzhiyunindex 83c9f20..8fd92c1 100644 802*4882a593Smuzhiyun--- a/amqp_decimal.c 803*4882a593Smuzhiyun+++ b/amqp_decimal.c 804*4882a593Smuzhiyun@@ -53,7 +53,7 @@ static PHP_METHOD(amqp_decimal_class, __construct) 805*4882a593Smuzhiyun } 806*4882a593Smuzhiyun 807*4882a593Smuzhiyun if (exponent > AMQP_DECIMAL_EXPONENT_MAX) { 808*4882a593Smuzhiyun- zend_throw_exception_ex(amqp_value_exception_class_entry, 0 TSRMLS_CC, "Decimal exponent value must be less than %u.", AMQP_DECIMAL_EXPONENT_MAX); 809*4882a593Smuzhiyun+ zend_throw_exception_ex(amqp_value_exception_class_entry, 0 TSRMLS_CC, "Decimal exponent value must be less than %u.", (unsigned)AMQP_DECIMAL_EXPONENT_MAX); 810*4882a593Smuzhiyun return; 811*4882a593Smuzhiyun } 812*4882a593Smuzhiyun if (significand < AMQP_DECIMAL_SIGNIFICAND_MIN) { 813*4882a593Smuzhiyun@@ -62,12 +62,12 @@ static PHP_METHOD(amqp_decimal_class, __construct) 814*4882a593Smuzhiyun } 815*4882a593Smuzhiyun 816*4882a593Smuzhiyun if (significand > AMQP_DECIMAL_SIGNIFICAND_MAX) { 817*4882a593Smuzhiyun- zend_throw_exception_ex(amqp_value_exception_class_entry, 0 TSRMLS_CC, "Decimal significand value must be less than %u.", AMQP_DECIMAL_SIGNIFICAND_MAX); 818*4882a593Smuzhiyun+ zend_throw_exception_ex(amqp_value_exception_class_entry, 0 TSRMLS_CC, "Decimal significand value must be less than %u.", (unsigned)AMQP_DECIMAL_SIGNIFICAND_MAX); 819*4882a593Smuzhiyun return; 820*4882a593Smuzhiyun } 821*4882a593Smuzhiyun 822*4882a593Smuzhiyun- zend_update_property_long(this_ce, getThis(), ZEND_STRL("exponent"), exponent TSRMLS_CC); 823*4882a593Smuzhiyun- zend_update_property_long(this_ce, getThis(), ZEND_STRL("significand"), significand TSRMLS_CC); 824*4882a593Smuzhiyun+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("exponent"), exponent TSRMLS_CC); 825*4882a593Smuzhiyun+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("significand"), significand TSRMLS_CC); 826*4882a593Smuzhiyun } 827*4882a593Smuzhiyun /* }}} */ 828*4882a593Smuzhiyun 829*4882a593Smuzhiyundiff --git a/amqp_envelope.c b/amqp_envelope.c 830*4882a593Smuzhiyunindex 8127bed..b7a7a45 100644 831*4882a593Smuzhiyun--- a/amqp_envelope.c 832*4882a593Smuzhiyun+++ b/amqp_envelope.c 833*4882a593Smuzhiyun@@ -67,13 +67,13 @@ void convert_amqp_envelope_to_zval(amqp_envelope_t *amqp_envelope, zval *envelop 834*4882a593Smuzhiyun amqp_basic_properties_t *p = &amqp_envelope->message.properties; 835*4882a593Smuzhiyun amqp_message_t *message = &amqp_envelope->message; 836*4882a593Smuzhiyun 837*4882a593Smuzhiyun- zend_update_property_stringl(this_ce, envelope, ZEND_STRL("body"), (const char *) message->body.bytes, (PHP5to7_param_str_len_type_t) message->body.len TSRMLS_CC); 838*4882a593Smuzhiyun+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(envelope), ZEND_STRL("body"), (const char *) message->body.bytes, (PHP5to7_param_str_len_type_t) message->body.len TSRMLS_CC); 839*4882a593Smuzhiyun 840*4882a593Smuzhiyun- zend_update_property_stringl(this_ce, envelope, ZEND_STRL("consumer_tag"), (const char *) amqp_envelope->consumer_tag.bytes, (PHP5to7_param_str_len_type_t) amqp_envelope->consumer_tag.len TSRMLS_CC); 841*4882a593Smuzhiyun- zend_update_property_long(this_ce, envelope, ZEND_STRL("delivery_tag"), (PHP5to7_param_long_type_t) amqp_envelope->delivery_tag TSRMLS_CC); 842*4882a593Smuzhiyun- zend_update_property_bool(this_ce, envelope, ZEND_STRL("is_redelivery"), (PHP5to7_param_long_type_t) amqp_envelope->redelivered TSRMLS_CC); 843*4882a593Smuzhiyun- zend_update_property_stringl(this_ce, envelope, ZEND_STRL("exchange_name"), (const char *) amqp_envelope->exchange.bytes, (PHP5to7_param_str_len_type_t) amqp_envelope->exchange.len TSRMLS_CC); 844*4882a593Smuzhiyun- zend_update_property_stringl(this_ce, envelope, ZEND_STRL("routing_key"), (const char *) amqp_envelope->routing_key.bytes, (PHP5to7_param_str_len_type_t) amqp_envelope->routing_key.len TSRMLS_CC); 845*4882a593Smuzhiyun+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(envelope), ZEND_STRL("consumer_tag"), (const char *) amqp_envelope->consumer_tag.bytes, (PHP5to7_param_str_len_type_t) amqp_envelope->consumer_tag.len TSRMLS_CC); 846*4882a593Smuzhiyun+ zend_update_property_long(this_ce, PHP5to8_OBJ_PROP(envelope), ZEND_STRL("delivery_tag"), (PHP5to7_param_long_type_t) amqp_envelope->delivery_tag TSRMLS_CC); 847*4882a593Smuzhiyun+ zend_update_property_bool(this_ce, PHP5to8_OBJ_PROP(envelope), ZEND_STRL("is_redelivery"), (PHP5to7_param_long_type_t) amqp_envelope->redelivered TSRMLS_CC); 848*4882a593Smuzhiyun+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(envelope), ZEND_STRL("exchange_name"), (const char *) amqp_envelope->exchange.bytes, (PHP5to7_param_str_len_type_t) amqp_envelope->exchange.len TSRMLS_CC); 849*4882a593Smuzhiyun+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(envelope), ZEND_STRL("routing_key"), (const char *) amqp_envelope->routing_key.bytes, (PHP5to7_param_str_len_type_t) amqp_envelope->routing_key.len TSRMLS_CC); 850*4882a593Smuzhiyun 851*4882a593Smuzhiyun php_amqp_basic_properties_extract(p, envelope TSRMLS_CC); 852*4882a593Smuzhiyun } 853*4882a593Smuzhiyundiff --git a/amqp_exchange.c b/amqp_exchange.c 854*4882a593Smuzhiyunindex 4f80d3b..4bfe397 100644 855*4882a593Smuzhiyun--- a/amqp_exchange.c 856*4882a593Smuzhiyun+++ b/amqp_exchange.c 857*4882a593Smuzhiyun@@ -65,20 +65,20 @@ static PHP_METHOD(amqp_exchange_class, __construct) 858*4882a593Smuzhiyun zval *channelObj; 859*4882a593Smuzhiyun amqp_channel_resource *channel_resource; 860*4882a593Smuzhiyun 861*4882a593Smuzhiyun- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o", &channelObj) == FAILURE) { 862*4882a593Smuzhiyun+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "O", &channelObj, amqp_channel_class_entry) == FAILURE) { 863*4882a593Smuzhiyun return; 864*4882a593Smuzhiyun } 865*4882a593Smuzhiyun 866*4882a593Smuzhiyun PHP5to7_MAYBE_INIT(arguments); 867*4882a593Smuzhiyun PHP5to7_ARRAY_INIT(arguments); 868*4882a593Smuzhiyun- zend_update_property(this_ce, getThis(), ZEND_STRL("arguments"), PHP5to7_MAYBE_PTR(arguments) TSRMLS_CC); 869*4882a593Smuzhiyun+ zend_update_property(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("arguments"), PHP5to7_MAYBE_PTR(arguments) TSRMLS_CC); 870*4882a593Smuzhiyun PHP5to7_MAYBE_DESTROY(arguments); 871*4882a593Smuzhiyun 872*4882a593Smuzhiyun channel_resource = PHP_AMQP_GET_CHANNEL_RESOURCE(channelObj); 873*4882a593Smuzhiyun PHP_AMQP_VERIFY_CHANNEL_RESOURCE(channel_resource, "Could not create exchange."); 874*4882a593Smuzhiyun 875*4882a593Smuzhiyun- zend_update_property(this_ce, getThis(), ZEND_STRL("channel"), channelObj TSRMLS_CC); 876*4882a593Smuzhiyun- zend_update_property(this_ce, getThis(), ZEND_STRL("connection"), PHP_AMQP_READ_OBJ_PROP(amqp_channel_class_entry, channelObj, "connection") TSRMLS_CC); 877*4882a593Smuzhiyun+ zend_update_property(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("channel"), channelObj TSRMLS_CC); 878*4882a593Smuzhiyun+ zend_update_property(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("connection"), PHP_AMQP_READ_OBJ_PROP(amqp_channel_class_entry, channelObj, "connection") TSRMLS_CC); 879*4882a593Smuzhiyun } 880*4882a593Smuzhiyun /* }}} */ 881*4882a593Smuzhiyun 882*4882a593Smuzhiyun@@ -119,7 +119,7 @@ static PHP_METHOD(amqp_exchange_class, setName) 883*4882a593Smuzhiyun } 884*4882a593Smuzhiyun 885*4882a593Smuzhiyun /* Set the exchange name */ 886*4882a593Smuzhiyun- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("name"), name, name_len TSRMLS_CC); 887*4882a593Smuzhiyun+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("name"), name, name_len TSRMLS_CC); 888*4882a593Smuzhiyun } 889*4882a593Smuzhiyun /* }}} */ 890*4882a593Smuzhiyun 891*4882a593Smuzhiyun@@ -168,10 +168,10 @@ static PHP_METHOD(amqp_exchange_class, setFlags) 892*4882a593Smuzhiyun /* Set the flags based on the bitmask we were given */ 893*4882a593Smuzhiyun flagBitmask = flagBitmask ? flagBitmask & PHP_AMQP_EXCHANGE_FLAGS : flagBitmask; 894*4882a593Smuzhiyun 895*4882a593Smuzhiyun- zend_update_property_bool(this_ce, getThis(), ZEND_STRL("passive"), IS_PASSIVE(flagBitmask) TSRMLS_CC); 896*4882a593Smuzhiyun- zend_update_property_bool(this_ce, getThis(), ZEND_STRL("durable"), IS_DURABLE(flagBitmask) TSRMLS_CC); 897*4882a593Smuzhiyun- zend_update_property_bool(this_ce, getThis(), ZEND_STRL("auto_delete"), IS_AUTODELETE(flagBitmask) TSRMLS_CC); 898*4882a593Smuzhiyun- zend_update_property_bool(this_ce, getThis(), ZEND_STRL("internal"), IS_INTERNAL(flagBitmask) TSRMLS_CC); 899*4882a593Smuzhiyun+ zend_update_property_bool(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("passive"), IS_PASSIVE(flagBitmask) TSRMLS_CC); 900*4882a593Smuzhiyun+ zend_update_property_bool(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("durable"), IS_DURABLE(flagBitmask) TSRMLS_CC); 901*4882a593Smuzhiyun+ zend_update_property_bool(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("auto_delete"), IS_AUTODELETE(flagBitmask) TSRMLS_CC); 902*4882a593Smuzhiyun+ zend_update_property_bool(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("internal"), IS_INTERNAL(flagBitmask) TSRMLS_CC); 903*4882a593Smuzhiyun } 904*4882a593Smuzhiyun /* }}} */ 905*4882a593Smuzhiyun 906*4882a593Smuzhiyun@@ -204,7 +204,7 @@ static PHP_METHOD(amqp_exchange_class, setType) 907*4882a593Smuzhiyun return; 908*4882a593Smuzhiyun } 909*4882a593Smuzhiyun 910*4882a593Smuzhiyun- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("type"), type, type_len TSRMLS_CC); 911*4882a593Smuzhiyun+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("type"), type, type_len TSRMLS_CC); 912*4882a593Smuzhiyun } 913*4882a593Smuzhiyun /* }}} */ 914*4882a593Smuzhiyun 915*4882a593Smuzhiyun@@ -273,7 +273,7 @@ static PHP_METHOD(amqp_exchange_class, setArguments) 916*4882a593Smuzhiyun return; 917*4882a593Smuzhiyun } 918*4882a593Smuzhiyun 919*4882a593Smuzhiyun- zend_update_property(this_ce, getThis(), ZEND_STRL("arguments"), zvalArguments TSRMLS_CC); 920*4882a593Smuzhiyun+ zend_update_property(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("arguments"), zvalArguments TSRMLS_CC); 921*4882a593Smuzhiyun 922*4882a593Smuzhiyun RETURN_TRUE; 923*4882a593Smuzhiyun } 924*4882a593Smuzhiyundiff --git a/amqp_queue.c b/amqp_queue.c 925*4882a593Smuzhiyunindex c13629c..eeba144 100644 926*4882a593Smuzhiyun--- a/amqp_queue.c 927*4882a593Smuzhiyun+++ b/amqp_queue.c 928*4882a593Smuzhiyun@@ -68,20 +68,20 @@ static PHP_METHOD(amqp_queue_class, __construct) 929*4882a593Smuzhiyun zval *channelObj; 930*4882a593Smuzhiyun amqp_channel_resource *channel_resource; 931*4882a593Smuzhiyun 932*4882a593Smuzhiyun- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o", &channelObj) == FAILURE) { 933*4882a593Smuzhiyun+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "O", &channelObj, amqp_channel_class_entry) == FAILURE) { 934*4882a593Smuzhiyun return; 935*4882a593Smuzhiyun } 936*4882a593Smuzhiyun 937*4882a593Smuzhiyun PHP5to7_MAYBE_INIT(arguments); 938*4882a593Smuzhiyun PHP5to7_ARRAY_INIT(arguments); 939*4882a593Smuzhiyun- zend_update_property(this_ce, getThis(), ZEND_STRL("arguments"), PHP5to7_MAYBE_PTR(arguments) TSRMLS_CC); 940*4882a593Smuzhiyun+ zend_update_property(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("arguments"), PHP5to7_MAYBE_PTR(arguments) TSRMLS_CC); 941*4882a593Smuzhiyun PHP5to7_MAYBE_DESTROY(arguments); 942*4882a593Smuzhiyun 943*4882a593Smuzhiyun channel_resource = PHP_AMQP_GET_CHANNEL_RESOURCE(channelObj); 944*4882a593Smuzhiyun PHP_AMQP_VERIFY_CHANNEL_RESOURCE(channel_resource, "Could not create queue."); 945*4882a593Smuzhiyun 946*4882a593Smuzhiyun- zend_update_property(this_ce, getThis(), ZEND_STRL("channel"), channelObj TSRMLS_CC); 947*4882a593Smuzhiyun- zend_update_property(this_ce, getThis(), ZEND_STRL("connection"), PHP_AMQP_READ_OBJ_PROP(amqp_channel_class_entry, channelObj, "connection") TSRMLS_CC); 948*4882a593Smuzhiyun+ zend_update_property(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("channel"), channelObj TSRMLS_CC); 949*4882a593Smuzhiyun+ zend_update_property(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("connection"), PHP_AMQP_READ_OBJ_PROP(amqp_channel_class_entry, channelObj, "connection") TSRMLS_CC); 950*4882a593Smuzhiyun 951*4882a593Smuzhiyun } 952*4882a593Smuzhiyun /* }}} */ 953*4882a593Smuzhiyun@@ -122,7 +122,7 @@ static PHP_METHOD(amqp_queue_class, setName) 954*4882a593Smuzhiyun } 955*4882a593Smuzhiyun 956*4882a593Smuzhiyun /* Set the queue name */ 957*4882a593Smuzhiyun- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("name"), name, name_len TSRMLS_CC); 958*4882a593Smuzhiyun+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("name"), name, name_len TSRMLS_CC); 959*4882a593Smuzhiyun 960*4882a593Smuzhiyun /* BC */ 961*4882a593Smuzhiyun RETURN_TRUE; 962*4882a593Smuzhiyun@@ -175,10 +175,10 @@ static PHP_METHOD(amqp_queue_class, setFlags) 963*4882a593Smuzhiyun /* Set the flags based on the bitmask we were given */ 964*4882a593Smuzhiyun flagBitmask = flagBitmask ? flagBitmask & PHP_AMQP_QUEUE_FLAGS : flagBitmask; 965*4882a593Smuzhiyun 966*4882a593Smuzhiyun- zend_update_property_bool(this_ce, getThis(), ZEND_STRL("passive"), IS_PASSIVE(flagBitmask) TSRMLS_CC); 967*4882a593Smuzhiyun- zend_update_property_bool(this_ce, getThis(), ZEND_STRL("durable"), IS_DURABLE(flagBitmask) TSRMLS_CC); 968*4882a593Smuzhiyun- zend_update_property_bool(this_ce, getThis(), ZEND_STRL("exclusive"), IS_EXCLUSIVE(flagBitmask) TSRMLS_CC); 969*4882a593Smuzhiyun- zend_update_property_bool(this_ce, getThis(), ZEND_STRL("auto_delete"), IS_AUTODELETE(flagBitmask) TSRMLS_CC); 970*4882a593Smuzhiyun+ zend_update_property_bool(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("passive"), IS_PASSIVE(flagBitmask) TSRMLS_CC); 971*4882a593Smuzhiyun+ zend_update_property_bool(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("durable"), IS_DURABLE(flagBitmask) TSRMLS_CC); 972*4882a593Smuzhiyun+ zend_update_property_bool(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("exclusive"), IS_EXCLUSIVE(flagBitmask) TSRMLS_CC); 973*4882a593Smuzhiyun+ zend_update_property_bool(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("auto_delete"), IS_AUTODELETE(flagBitmask) TSRMLS_CC); 974*4882a593Smuzhiyun 975*4882a593Smuzhiyun /* BC */ 976*4882a593Smuzhiyun RETURN_TRUE; 977*4882a593Smuzhiyun@@ -250,7 +250,7 @@ static PHP_METHOD(amqp_queue_class, setArguments) 978*4882a593Smuzhiyun return; 979*4882a593Smuzhiyun } 980*4882a593Smuzhiyun 981*4882a593Smuzhiyun- zend_update_property(this_ce, getThis(), ZEND_STRL("arguments"), zvalArguments TSRMLS_CC); 982*4882a593Smuzhiyun+ zend_update_property(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("arguments"), zvalArguments TSRMLS_CC); 983*4882a593Smuzhiyun 984*4882a593Smuzhiyun RETURN_TRUE; 985*4882a593Smuzhiyun } 986*4882a593Smuzhiyun@@ -342,7 +342,7 @@ static PHP_METHOD(amqp_queue_class, declareQueue) 987*4882a593Smuzhiyun 988*4882a593Smuzhiyun /* Set the queue name, in case it is an autogenerated queue name */ 989*4882a593Smuzhiyun name = php_amqp_type_amqp_bytes_to_char(r->queue); 990*4882a593Smuzhiyun- zend_update_property_string(this_ce, getThis(), ZEND_STRL("name"), name TSRMLS_CC); 991*4882a593Smuzhiyun+ zend_update_property_string(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("name"), name TSRMLS_CC); 992*4882a593Smuzhiyun efree(name); 993*4882a593Smuzhiyun 994*4882a593Smuzhiyun php_amqp_maybe_release_buffers_on_channel(channel_resource->connection_resource, channel_resource); 995*4882a593Smuzhiyun@@ -525,7 +525,7 @@ static PHP_METHOD(amqp_queue_class, consume) 996*4882a593Smuzhiyun } 997*4882a593Smuzhiyun 998*4882a593Smuzhiyun zval *channel_zv = PHP_AMQP_READ_THIS_PROP("channel"); 999*4882a593Smuzhiyun- zval *consumers = zend_read_property(amqp_channel_class_entry, channel_zv, ZEND_STRL("consumers"), 0 PHP5to7_READ_PROP_RV_PARAM_CC TSRMLS_CC); 1000*4882a593Smuzhiyun+ zval *consumers = zend_read_property(amqp_channel_class_entry, PHP5to8_OBJ_PROP(channel_zv), ZEND_STRL("consumers"), 0 PHP5to7_READ_PROP_RV_PARAM_CC TSRMLS_CC); 1001*4882a593Smuzhiyun 1002*4882a593Smuzhiyun if (IS_ARRAY != Z_TYPE_P(consumers)) { 1003*4882a593Smuzhiyun zend_throw_exception(amqp_queue_exception_class_entry, "Invalid channel consumers, forgot to call channel constructor?", 0 TSRMLS_CC); 1004*4882a593Smuzhiyun@@ -594,7 +594,7 @@ static PHP_METHOD(amqp_queue_class, consume) 1005*4882a593Smuzhiyun efree(key); 1006*4882a593Smuzhiyun 1007*4882a593Smuzhiyun /* Set the consumer tag name, in case it is an autogenerated consumer tag name */ 1008*4882a593Smuzhiyun- zend_update_property_stringl(this_ce, getThis(), ZEND_STRL("consumer_tag"), (const char *) r->consumer_tag.bytes, (PHP5to7_param_str_len_type_t) r->consumer_tag.len TSRMLS_CC); 1009*4882a593Smuzhiyun+ zend_update_property_stringl(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("consumer_tag"), (const char *) r->consumer_tag.bytes, (PHP5to7_param_str_len_type_t) r->consumer_tag.len TSRMLS_CC); 1010*4882a593Smuzhiyun } 1011*4882a593Smuzhiyun 1012*4882a593Smuzhiyun if (!ZEND_FCI_INITIALIZED(fci)) { 1013*4882a593Smuzhiyun@@ -674,7 +674,7 @@ static PHP_METHOD(amqp_queue_class, consume) 1014*4882a593Smuzhiyun current_channel_zv = current_channel_resource->parent->this_ptr; 1015*4882a593Smuzhiyun #endif 1016*4882a593Smuzhiyun 1017*4882a593Smuzhiyun- consumers = zend_read_property(amqp_channel_class_entry, PHP5to7_MAYBE_PTR(current_channel_zv), ZEND_STRL("consumers"), 0 PHP5to7_READ_PROP_RV_PARAM_CC TSRMLS_CC); 1018*4882a593Smuzhiyun+ consumers = zend_read_property(amqp_channel_class_entry, PHP5to8_OBJ_PROP(PHP5to7_MAYBE_PTR(current_channel_zv)), ZEND_STRL("consumers"), 0 PHP5to7_READ_PROP_RV_PARAM_CC TSRMLS_CC); 1019*4882a593Smuzhiyun 1020*4882a593Smuzhiyun if (IS_ARRAY != Z_TYPE_P(consumers)) { 1021*4882a593Smuzhiyun zend_throw_exception(amqp_queue_exception_class_entry, "Invalid channel consumers, forgot to call channel constructor?", 0 TSRMLS_CC); 1022*4882a593Smuzhiyun@@ -689,8 +689,8 @@ static PHP_METHOD(amqp_queue_class, consume) 1023*4882a593Smuzhiyun PHP5to7_zval_t exception PHP5to7_MAYBE_SET_TO_NULL; 1024*4882a593Smuzhiyun PHP5to7_MAYBE_INIT(exception); 1025*4882a593Smuzhiyun object_init_ex(PHP5to7_MAYBE_PTR(exception), amqp_envelope_exception_class_entry); 1026*4882a593Smuzhiyun- zend_update_property_string(zend_exception_get_default(TSRMLS_C), PHP5to7_MAYBE_PTR(exception), ZEND_STRL("message"), "Orphaned envelope" TSRMLS_CC); 1027*4882a593Smuzhiyun- zend_update_property(amqp_envelope_exception_class_entry, PHP5to7_MAYBE_PTR(exception), ZEND_STRL("envelope"), PHP5to7_MAYBE_PTR(message) TSRMLS_CC); 1028*4882a593Smuzhiyun+ zend_update_property_string(zend_exception_get_default(TSRMLS_C), PHP5to8_OBJ_PROP(PHP5to7_MAYBE_PTR(exception)), ZEND_STRL("message"), "Orphaned envelope" TSRMLS_CC); 1029*4882a593Smuzhiyun+ zend_update_property(amqp_envelope_exception_class_entry, PHP5to8_OBJ_PROP(PHP5to7_MAYBE_PTR(exception)), ZEND_STRL("envelope"), PHP5to7_MAYBE_PTR(message) TSRMLS_CC); 1030*4882a593Smuzhiyun 1031*4882a593Smuzhiyun zend_throw_exception_object(PHP5to7_MAYBE_PTR(exception) TSRMLS_CC); 1032*4882a593Smuzhiyun 1033*4882a593Smuzhiyun@@ -946,7 +946,7 @@ static PHP_METHOD(amqp_queue_class, cancel) 1034*4882a593Smuzhiyun } 1035*4882a593Smuzhiyun 1036*4882a593Smuzhiyun zval *channel_zv = PHP_AMQP_READ_THIS_PROP("channel"); 1037*4882a593Smuzhiyun- zval *consumers = zend_read_property(amqp_channel_class_entry, channel_zv, ZEND_STRL("consumers"), 0 PHP5to7_READ_PROP_RV_PARAM_CC TSRMLS_CC); 1038*4882a593Smuzhiyun+ zval *consumers = zend_read_property(amqp_channel_class_entry, PHP5to8_OBJ_PROP(channel_zv), ZEND_STRL("consumers"), 0 PHP5to7_READ_PROP_RV_PARAM_CC TSRMLS_CC); 1039*4882a593Smuzhiyun zend_bool has_consumer_tag = (zend_bool) (IS_STRING == Z_TYPE_P(PHP_AMQP_READ_THIS_PROP("consumer_tag"))); 1040*4882a593Smuzhiyun 1041*4882a593Smuzhiyun if (IS_ARRAY != Z_TYPE_P(consumers)) { 1042*4882a593Smuzhiyun@@ -977,8 +977,8 @@ static PHP_METHOD(amqp_queue_class, cancel) 1043*4882a593Smuzhiyun return; 1044*4882a593Smuzhiyun } 1045*4882a593Smuzhiyun 1046*4882a593Smuzhiyun- if (!consumer_tag_len || has_consumer_tag && strcmp(consumer_tag, PHP_AMQP_READ_THIS_PROP_STR("consumer_tag")) != 0) { 1047*4882a593Smuzhiyun- zend_update_property_null(this_ce, getThis(), ZEND_STRL("consumer_tag") TSRMLS_CC); 1048*4882a593Smuzhiyun+ if (!consumer_tag_len || (has_consumer_tag && strcmp(consumer_tag, PHP_AMQP_READ_THIS_PROP_STR("consumer_tag")) != 0)) { 1049*4882a593Smuzhiyun+ zend_update_property_null(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("consumer_tag") TSRMLS_CC); 1050*4882a593Smuzhiyun } 1051*4882a593Smuzhiyun 1052*4882a593Smuzhiyun char *key; 1053*4882a593Smuzhiyundiff --git a/amqp_timestamp.c b/amqp_timestamp.c 1054*4882a593Smuzhiyunindex d9eec39..ed07ab6 100644 1055*4882a593Smuzhiyun--- a/amqp_timestamp.c 1056*4882a593Smuzhiyun+++ b/amqp_timestamp.c 1057*4882a593Smuzhiyun@@ -61,7 +61,7 @@ static PHP_METHOD(amqp_timestamp_class, __construct) 1058*4882a593Smuzhiyun #if PHP_MAJOR_VERSION >= 7 1059*4882a593Smuzhiyun zend_string *str; 1060*4882a593Smuzhiyun str = _php_math_number_format_ex(timestamp, 0, "", 0, "", 0); 1061*4882a593Smuzhiyun- zend_update_property_str(this_ce, getThis(), ZEND_STRL("timestamp"), str); 1062*4882a593Smuzhiyun+ zend_update_property_str(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL("timestamp"), str); 1063*4882a593Smuzhiyun zend_string_delref(str); 1064*4882a593Smuzhiyun #else 1065*4882a593Smuzhiyun char *str; 1066*4882a593Smuzhiyun@@ -104,7 +104,11 @@ ZEND_END_ARG_INFO() 1067*4882a593Smuzhiyun ZEND_BEGIN_ARG_INFO_EX(arginfo_amqp_timestamp_class_getTimestamp, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) 1068*4882a593Smuzhiyun ZEND_END_ARG_INFO() 1069*4882a593Smuzhiyun 1070*4882a593Smuzhiyun+#if PHP_MAJOR_VERSION < 8 1071*4882a593Smuzhiyun ZEND_BEGIN_ARG_INFO_EX(arginfo_amqp_timestamp_class_toString, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) 1072*4882a593Smuzhiyun+#else 1073*4882a593Smuzhiyun+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_amqp_timestamp_class_toString, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, IS_STRING, 0) 1074*4882a593Smuzhiyun+#endif 1075*4882a593Smuzhiyun ZEND_END_ARG_INFO() 1076*4882a593Smuzhiyun 1077*4882a593Smuzhiyun zend_function_entry amqp_timestamp_class_functions[] = { 1078*4882a593Smuzhiyundiff --git a/amqp_type.c b/amqp_type.c 1079*4882a593Smuzhiyunindex fb87727..5f1ab91 100644 1080*4882a593Smuzhiyun--- a/amqp_type.c 1081*4882a593Smuzhiyun+++ b/amqp_type.c 1082*4882a593Smuzhiyun@@ -250,7 +250,7 @@ zend_bool php_amqp_type_internal_convert_php_to_amqp_field_value(zval *value, am 1083*4882a593Smuzhiyun if (instanceof_function(Z_OBJCE_P(value), amqp_timestamp_class_entry TSRMLS_CC)) { 1084*4882a593Smuzhiyun PHP5to7_zval_t result_zv PHP5to7_MAYBE_SET_TO_NULL; 1085*4882a593Smuzhiyun 1086*4882a593Smuzhiyun- zend_call_method_with_0_params(PHP5to7_MAYBE_PARAM_PTR(value), amqp_timestamp_class_entry, NULL, "gettimestamp", &result_zv); 1087*4882a593Smuzhiyun+ zend_call_method_with_0_params(PHP5to8_OBJ_PROP(PHP5to7_MAYBE_PARAM_PTR(value)), amqp_timestamp_class_entry, NULL, "gettimestamp", &result_zv); 1088*4882a593Smuzhiyun 1089*4882a593Smuzhiyun field->kind = AMQP_FIELD_KIND_TIMESTAMP; 1090*4882a593Smuzhiyun field->value.u64 = strtoimax(Z_STRVAL(PHP5to7_MAYBE_DEREF(result_zv)), NULL, 10); 1091*4882a593Smuzhiyun@@ -262,11 +262,11 @@ zend_bool php_amqp_type_internal_convert_php_to_amqp_field_value(zval *value, am 1092*4882a593Smuzhiyun field->kind = AMQP_FIELD_KIND_DECIMAL; 1093*4882a593Smuzhiyun PHP5to7_zval_t result_zv PHP5to7_MAYBE_SET_TO_NULL; 1094*4882a593Smuzhiyun 1095*4882a593Smuzhiyun- zend_call_method_with_0_params(PHP5to7_MAYBE_PARAM_PTR(value), amqp_decimal_class_entry, NULL, "getexponent", &result_zv); 1096*4882a593Smuzhiyun+ zend_call_method_with_0_params(PHP5to8_OBJ_PROP(PHP5to7_MAYBE_PARAM_PTR(value)), amqp_decimal_class_entry, NULL, "getexponent", &result_zv); 1097*4882a593Smuzhiyun field->value.decimal.decimals = (uint8_t)Z_LVAL(PHP5to7_MAYBE_DEREF(result_zv)); 1098*4882a593Smuzhiyun PHP5to7_MAYBE_DESTROY(result_zv); 1099*4882a593Smuzhiyun 1100*4882a593Smuzhiyun- zend_call_method_with_0_params(PHP5to7_MAYBE_PARAM_PTR(value), amqp_decimal_class_entry, NULL, "getsignificand", &result_zv); 1101*4882a593Smuzhiyun+ zend_call_method_with_0_params(PHP5to8_OBJ_PROP(PHP5to7_MAYBE_PARAM_PTR(value)), amqp_decimal_class_entry, NULL, "getsignificand", &result_zv); 1102*4882a593Smuzhiyun field->value.decimal.value = (uint32_t)Z_LVAL(PHP5to7_MAYBE_DEREF(result_zv)); 1103*4882a593Smuzhiyun 1104*4882a593Smuzhiyun PHP5to7_MAYBE_DESTROY(result_zv); 1105*4882a593Smuzhiyundiff --git a/php5_support.h b/php5_support.h 1106*4882a593Smuzhiyunindex 5c57620..25c2d96 100644 1107*4882a593Smuzhiyun--- a/php5_support.h 1108*4882a593Smuzhiyun+++ b/php5_support.h 1109*4882a593Smuzhiyun@@ -109,6 +109,8 @@ typedef zend_rsrc_list_entry PHP5to7_zend_resource_le_t; 1110*4882a593Smuzhiyun #define ZEND_ULONG_FMT "%" PRIu64 1111*4882a593Smuzhiyun #define PHP5to7_ZEND_ACC_FINAL_CLASS ZEND_ACC_FINAL_CLASS 1112*4882a593Smuzhiyun 1113*4882a593Smuzhiyun+#define PHP5to8_OBJ_PROP(zv) (zv) 1114*4882a593Smuzhiyun+ 1115*4882a593Smuzhiyun #endif //PHP_AMQP_PHP5_SUPPORT_H 1116*4882a593Smuzhiyun 1117*4882a593Smuzhiyun /* 1118*4882a593Smuzhiyundiff --git a/php7_support.h b/php7_support.h 1119*4882a593Smuzhiyunindex c9e8f5b..0dbd6b2 100644 1120*4882a593Smuzhiyun--- a/php7_support.h 1121*4882a593Smuzhiyun+++ b/php7_support.h 1122*4882a593Smuzhiyun@@ -101,15 +101,24 @@ typedef zval PHP5to7_zend_resource_le_t; 1123*4882a593Smuzhiyun 1124*4882a593Smuzhiyun #define PHP5to7_ZEND_ACC_FINAL_CLASS ZEND_ACC_FINAL 1125*4882a593Smuzhiyun 1126*4882a593Smuzhiyun+ 1127*4882a593Smuzhiyun /* Small change to let it build after a major internal change for php8.0 1128*4882a593Smuzhiyun * More info: 1129*4882a593Smuzhiyun * https://github.com/php/php-src/blob/php-8.0.0alpha3/UPGRADING.INTERNALS#L47 1130*4882a593Smuzhiyun */ 1131*4882a593Smuzhiyun #if PHP_MAJOR_VERSION >= 8 1132*4882a593Smuzhiyun+ 1133*4882a593Smuzhiyun # define TSRMLS_DC 1134*4882a593Smuzhiyun # define TSRMLS_D 1135*4882a593Smuzhiyun # define TSRMLS_CC 1136*4882a593Smuzhiyun # define TSRMLS_C 1137*4882a593Smuzhiyun+ 1138*4882a593Smuzhiyun+#define PHP5to8_OBJ_PROP(zv) Z_OBJ_P(zv) 1139*4882a593Smuzhiyun+ 1140*4882a593Smuzhiyun+#else 1141*4882a593Smuzhiyun+ 1142*4882a593Smuzhiyun+#define PHP5to8_OBJ_PROP(zv) (zv) 1143*4882a593Smuzhiyun+ 1144*4882a593Smuzhiyun # endif 1145*4882a593Smuzhiyun 1146*4882a593Smuzhiyun #endif //PHP_AMQP_PHP7_SUPPORT_H 1147*4882a593Smuzhiyundiff --git a/php_amqp.h b/php_amqp.h 1148*4882a593Smuzhiyunindex 752edd7..686741d 100644 1149*4882a593Smuzhiyun--- a/php_amqp.h 1150*4882a593Smuzhiyun+++ b/php_amqp.h 1151*4882a593Smuzhiyun@@ -221,14 +221,14 @@ struct _amqp_connection_object { 1152*4882a593Smuzhiyun #define PHP_AMQP_NOPARAMS() if (zend_parse_parameters_none() == FAILURE) { return; } 1153*4882a593Smuzhiyun 1154*4882a593Smuzhiyun #define PHP_AMQP_RETURN_THIS_PROP(prop_name) \ 1155*4882a593Smuzhiyun- zval * _zv = zend_read_property(this_ce, getThis(), ZEND_STRL(prop_name), 0 PHP5to7_READ_PROP_RV_PARAM_CC TSRMLS_CC); \ 1156*4882a593Smuzhiyun+ zval * _zv = zend_read_property(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL(prop_name), 0 PHP5to7_READ_PROP_RV_PARAM_CC TSRMLS_CC); \ 1157*4882a593Smuzhiyun RETURN_ZVAL(_zv, 1, 0); 1158*4882a593Smuzhiyun 1159*4882a593Smuzhiyun-#define PHP_AMQP_READ_OBJ_PROP(cls, obj, name) zend_read_property((cls), (obj), ZEND_STRL(name), 0 PHP5to7_READ_PROP_RV_PARAM_CC TSRMLS_CC) 1160*4882a593Smuzhiyun+#define PHP_AMQP_READ_OBJ_PROP(cls, obj, name) zend_read_property((cls), PHP5to8_OBJ_PROP(obj), ZEND_STRL(name), 0 PHP5to7_READ_PROP_RV_PARAM_CC TSRMLS_CC) 1161*4882a593Smuzhiyun #define PHP_AMQP_READ_OBJ_PROP_DOUBLE(cls, obj, name) Z_DVAL_P(PHP_AMQP_READ_OBJ_PROP((cls), (obj), (name))) 1162*4882a593Smuzhiyun 1163*4882a593Smuzhiyun-#define PHP_AMQP_READ_THIS_PROP_CE(name, ce) zend_read_property((ce), getThis(), ZEND_STRL(name), 0 PHP5to7_READ_PROP_RV_PARAM_CC TSRMLS_CC) 1164*4882a593Smuzhiyun-#define PHP_AMQP_READ_THIS_PROP(name) zend_read_property(this_ce, getThis(), ZEND_STRL(name), 0 PHP5to7_READ_PROP_RV_PARAM_CC TSRMLS_CC) 1165*4882a593Smuzhiyun+#define PHP_AMQP_READ_THIS_PROP_CE(name, ce) zend_read_property((ce), PHP5to8_OBJ_PROP(getThis()), ZEND_STRL(name), 0 PHP5to7_READ_PROP_RV_PARAM_CC TSRMLS_CC) 1166*4882a593Smuzhiyun+#define PHP_AMQP_READ_THIS_PROP(name) zend_read_property(this_ce, PHP5to8_OBJ_PROP(getThis()), ZEND_STRL(name), 0 PHP5to7_READ_PROP_RV_PARAM_CC TSRMLS_CC) 1167*4882a593Smuzhiyun #define PHP_AMQP_READ_THIS_PROP_BOOL(name) Z_BVAL_P(PHP_AMQP_READ_THIS_PROP(name)) 1168*4882a593Smuzhiyun #define PHP_AMQP_READ_THIS_PROP_STR(name) Z_STRVAL_P(PHP_AMQP_READ_THIS_PROP(name)) 1169*4882a593Smuzhiyun #define PHP_AMQP_READ_THIS_PROP_STRLEN(name) (Z_TYPE_P(PHP_AMQP_READ_THIS_PROP(name)) == IS_STRING ? Z_STRLEN_P(PHP_AMQP_READ_THIS_PROP(name)) : 0) 1170*4882a593Smuzhiyundiff --git a/tests/amqptimestamp.phpt b/tests/amqptimestamp.phpt 1171*4882a593Smuzhiyunindex 9835883..6424f8b 100644 1172*4882a593Smuzhiyun--- a/tests/amqptimestamp.phpt 1173*4882a593Smuzhiyun+++ b/tests/amqptimestamp.phpt 1174*4882a593Smuzhiyun@@ -2,7 +2,7 @@ 1175*4882a593Smuzhiyun AMQPTimestamp 1176*4882a593Smuzhiyun --SKIPIF-- 1177*4882a593Smuzhiyun <?php 1178*4882a593Smuzhiyun-if (!extension_loaded("amqp") || version_compare(PHP_VERSION, '5.3', '<')) { 1179*4882a593Smuzhiyun+if (!extension_loaded("amqp") || version_compare(PHP_VERSION, '5.3', '<') || version_compare(PHP_VERSION, '8.0', '>')) { 1180*4882a593Smuzhiyun print "skip"; 1181*4882a593Smuzhiyun } 1182*4882a593Smuzhiyun --FILE-- 1183*4882a593Smuzhiyun@@ -52,4 +52,4 @@ bool(true) 1184*4882a593Smuzhiyun string(20) "18446744073709551616" 1185*4882a593Smuzhiyun string(1) "0" 1186*4882a593Smuzhiyun 1187*4882a593Smuzhiyun-==END== 1188*4882a593Smuzhiyun\ No newline at end of file 1189*4882a593Smuzhiyun+==END== 1190*4882a593Smuzhiyundiff --git a/tests/amqptimestamp_php8.phpt b/tests/amqptimestamp_php8.phpt 1191*4882a593Smuzhiyunnew file mode 100644 1192*4882a593Smuzhiyunindex 0000000..dabecc5 1193*4882a593Smuzhiyun--- /dev/null 1194*4882a593Smuzhiyun+++ b/tests/amqptimestamp_php8.phpt 1195*4882a593Smuzhiyun@@ -0,0 +1,60 @@ 1196*4882a593Smuzhiyun+--TEST-- 1197*4882a593Smuzhiyun+AMQPTimestamp 1198*4882a593Smuzhiyun+--SKIPIF-- 1199*4882a593Smuzhiyun+<?php 1200*4882a593Smuzhiyun+if (!extension_loaded("amqp") || version_compare(PHP_VERSION, '8.0', '<')) { 1201*4882a593Smuzhiyun+ print "skip"; 1202*4882a593Smuzhiyun+} 1203*4882a593Smuzhiyun+--FILE-- 1204*4882a593Smuzhiyun+<?php 1205*4882a593Smuzhiyun+ 1206*4882a593Smuzhiyun+$timestamp = new AMQPTimestamp(100000); 1207*4882a593Smuzhiyun+var_dump($timestamp->getTimestamp(), (string) $timestamp); 1208*4882a593Smuzhiyun+ 1209*4882a593Smuzhiyun+$timestamp = new AMQPTimestamp(100000.1); 1210*4882a593Smuzhiyun+var_dump($timestamp->getTimestamp(), (string) $timestamp); 1211*4882a593Smuzhiyun+ 1212*4882a593Smuzhiyun+try { 1213*4882a593Smuzhiyun+ new AMQPTimestamp(); 1214*4882a593Smuzhiyun+} catch(ArgumentCountError $e) { 1215*4882a593Smuzhiyun+ echo $e->getMessage() . "\n"; 1216*4882a593Smuzhiyun+} 1217*4882a593Smuzhiyun+try { 1218*4882a593Smuzhiyun+ new AMQPTimestamp("string"); 1219*4882a593Smuzhiyun+} catch(TypeError $e) { 1220*4882a593Smuzhiyun+ echo $e->getMessage() . "\n"; 1221*4882a593Smuzhiyun+} 1222*4882a593Smuzhiyun+ 1223*4882a593Smuzhiyun+try { 1224*4882a593Smuzhiyun+ new AMQPTimestamp(AMQPTimestamp::MIN - 1); 1225*4882a593Smuzhiyun+} catch (AMQPValueException $e) { 1226*4882a593Smuzhiyun+ echo $e->getMessage() . "\n"; 1227*4882a593Smuzhiyun+} 1228*4882a593Smuzhiyun+ 1229*4882a593Smuzhiyun+try { 1230*4882a593Smuzhiyun+ new AMQPTimestamp(INF); 1231*4882a593Smuzhiyun+} catch (AMQPValueException $e) { 1232*4882a593Smuzhiyun+ echo $e->getMessage() . "\n"; 1233*4882a593Smuzhiyun+} 1234*4882a593Smuzhiyun+ 1235*4882a593Smuzhiyun+var_dump((new ReflectionClass("AMQPTimestamp"))->isFinal()); 1236*4882a593Smuzhiyun+ 1237*4882a593Smuzhiyun+var_dump(AMQPTimestamp::MAX); 1238*4882a593Smuzhiyun+var_dump(AMQPTimestamp::MIN); 1239*4882a593Smuzhiyun+?> 1240*4882a593Smuzhiyun+ 1241*4882a593Smuzhiyun+==END== 1242*4882a593Smuzhiyun+--EXPECTF-- 1243*4882a593Smuzhiyun+string(6) "100000" 1244*4882a593Smuzhiyun+string(6) "100000" 1245*4882a593Smuzhiyun+string(6) "100000" 1246*4882a593Smuzhiyun+string(6) "100000" 1247*4882a593Smuzhiyun+AMQPTimestamp::__construct() expects exactly 1 parameter, 0 given 1248*4882a593Smuzhiyun+AMQPTimestamp::__construct(): Argument #1 ($timestamp) must be of type float, string given 1249*4882a593Smuzhiyun+The timestamp parameter must be greater than 0. 1250*4882a593Smuzhiyun+The timestamp parameter must be less than 18446744073709551616. 1251*4882a593Smuzhiyun+bool(true) 1252*4882a593Smuzhiyun+string(20) "18446744073709551616" 1253*4882a593Smuzhiyun+string(1) "0" 1254*4882a593Smuzhiyun+ 1255*4882a593Smuzhiyun+==END== 1256*4882a593Smuzhiyundiff --git a/tests/bug_61533.phpt b/tests/bug_61533.phpt 1257*4882a593Smuzhiyunindex ecb5213..f53c315 100644 1258*4882a593Smuzhiyun--- a/tests/bug_61533.phpt 1259*4882a593Smuzhiyun+++ b/tests/bug_61533.phpt 1260*4882a593Smuzhiyun@@ -21,4 +21,4 @@ try { 1261*4882a593Smuzhiyun 1262*4882a593Smuzhiyun ?> 1263*4882a593Smuzhiyun --EXPECTF-- 1264*4882a593Smuzhiyun-%s: Argument 1 passed to AMQPQueue::__construct() must be an instance of AMQPChannel, instance of AMQPConnection given%s 1265*4882a593Smuzhiyun+%s AMQPChannel%s AMQPConnection%s 1266