@@ -195,7 +195,11 @@ typedef struct {
195195} php_memc_result_callback_ctx_t ;
196196
197197static inline php_memc_object_t * php_memc_fetch_object (zend_object * obj ) {
198+ #if PHP_VERSION_ID >= 80600
199+ return (php_memc_object_t * )((char * )obj - offsetof(php_memc_object_t , zo ));
200+ #else
198201 return (php_memc_object_t * )((char * )obj - XtOffsetOf (php_memc_object_t , zo ));
202+ #endif
199203}
200204#define Z_MEMC_OBJ_P (zv ) php_memc_fetch_object(Z_OBJ_P(zv));
201205
@@ -280,7 +284,11 @@ typedef struct {
280284} php_memc_server_t ;
281285
282286static inline php_memc_server_t * php_memc_server_fetch_object (zend_object * obj ) {
287+ #if PHP_VERSION_ID >= 80600
288+ return (php_memc_server_t * )((char * )obj - offsetof(php_memc_server_t , zo ));
289+ #else
283290 return (php_memc_server_t * )((char * )obj - XtOffsetOf (php_memc_server_t , zo ));
291+ #endif
284292}
285293#define Z_MEMC_SERVER_P (zv ) php_memc_server_fetch_object(Z_OBJ_P(zv))
286294
@@ -4404,7 +4412,11 @@ PHP_MINIT_FUNCTION(memcached)
44044412 zend_class_entry ce ;
44054413
44064414 memcpy (& memcached_object_handlers , zend_get_std_object_handlers (), sizeof (zend_object_handlers ));
4415+ #if PHP_VERSION_ID >= 80600
4416+ memcached_object_handlers .offset = offsetof(php_memc_object_t , zo );
4417+ #else
44074418 memcached_object_handlers .offset = XtOffsetOf (php_memc_object_t , zo );
4419+ #endif
44084420 memcached_object_handlers .clone_obj = NULL ;
44094421 memcached_object_handlers .free_obj = php_memc_object_free_storage ;
44104422
@@ -4415,7 +4427,11 @@ PHP_MINIT_FUNCTION(memcached)
44154427
44164428#ifdef HAVE_MEMCACHED_PROTOCOL
44174429 memcpy (& memcached_server_object_handlers , zend_get_std_object_handlers (), sizeof (zend_object_handlers ));
4430+ #if PHP_VERSION_ID >= 80600
4431+ memcached_server_object_handlers .offset = offsetof(php_memc_server_t , zo );
4432+ #else
44184433 memcached_server_object_handlers .offset = XtOffsetOf (php_memc_server_t , zo );
4434+ #endif
44194435 memcached_server_object_handlers .clone_obj = NULL ;
44204436 memcached_server_object_handlers .free_obj = php_memc_server_free_storage ;
44214437
0 commit comments