1*4882a593SmuzhiyunFrom 7fde4dd4d26d2a4b7957a1010c6ea9e4b940fc62 Mon Sep 17 00:00:00 2001 2*4882a593SmuzhiyunFrom: Stefan Saraev <stefan@saraev.ca> 3*4882a593SmuzhiyunDate: Mon, 18 Jan 2021 23:22:52 +0200 4*4882a593SmuzhiyunSubject: [PATCH] php8 compat 5*4882a593Smuzhiyun 6*4882a593SmuzhiyunUpstream: https://github.com/derickr/pecl-dbus/pull/8 7*4882a593SmuzhiyunSigned-off-by: Herve Codina <herve.codina@bootlin.com> 8*4882a593Smuzhiyun--- 9*4882a593Smuzhiyun dbus.c | 55 ++++++++++++++++++++++++++++++------------------------ 10*4882a593Smuzhiyun php_dbus.h | 10 ++++++++++ 11*4882a593Smuzhiyun 2 files changed, 41 insertions(+), 24 deletions(-) 12*4882a593Smuzhiyun 13*4882a593Smuzhiyundiff --git a/dbus.c b/dbus.c 14*4882a593Smuzhiyunindex 9fde647..a98e2ea 100644 15*4882a593Smuzhiyun--- a/dbus.c 16*4882a593Smuzhiyun+++ b/dbus.c 17*4882a593Smuzhiyun@@ -38,6 +38,9 @@ 18*4882a593Smuzhiyun #define Z_ADDREF_P(z) ((z)->refcount++) 19*4882a593Smuzhiyun #endif 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun+ZEND_BEGIN_ARG_INFO_EX(arginfo_void, 0, 0, 0) 22*4882a593Smuzhiyun+ZEND_END_ARG_INFO() 23*4882a593Smuzhiyun+ 24*4882a593Smuzhiyun /* {{{ arginfo */ 25*4882a593Smuzhiyun ZEND_BEGIN_ARG_INFO_EX(arginfo_dbus_object___call, 0, 0, 2) 26*4882a593Smuzhiyun ZEND_ARG_INFO(0, function_name) 27*4882a593Smuzhiyun@@ -46,44 +49,44 @@ ZEND_END_ARG_INFO() 28*4882a593Smuzhiyun /* }}} */ 29*4882a593Smuzhiyun 30*4882a593Smuzhiyun const zend_function_entry dbus_funcs_dbus[] = { 31*4882a593Smuzhiyun- PHP_ME(Dbus, __construct, NULL, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC) 32*4882a593Smuzhiyun- PHP_ME(Dbus, addWatch, NULL, ZEND_ACC_PUBLIC) 33*4882a593Smuzhiyun- PHP_ME(Dbus, waitLoop, NULL, ZEND_ACC_PUBLIC) 34*4882a593Smuzhiyun- PHP_ME(Dbus, requestName, NULL, ZEND_ACC_PUBLIC) 35*4882a593Smuzhiyun- PHP_ME(Dbus, registerObject, NULL, ZEND_ACC_PUBLIC) 36*4882a593Smuzhiyun- PHP_ME(Dbus, createProxy, NULL, ZEND_ACC_PUBLIC) 37*4882a593Smuzhiyun+ PHP_ME(Dbus, __construct, arginfo_void, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC) 38*4882a593Smuzhiyun+ PHP_ME(Dbus, addWatch, arginfo_void, ZEND_ACC_PUBLIC) 39*4882a593Smuzhiyun+ PHP_ME(Dbus, waitLoop, arginfo_void, ZEND_ACC_PUBLIC) 40*4882a593Smuzhiyun+ PHP_ME(Dbus, requestName, arginfo_void, ZEND_ACC_PUBLIC) 41*4882a593Smuzhiyun+ PHP_ME(Dbus, registerObject, arginfo_void, ZEND_ACC_PUBLIC) 42*4882a593Smuzhiyun+ PHP_ME(Dbus, createProxy, arginfo_void, ZEND_ACC_PUBLIC) 43*4882a593Smuzhiyun PHP_FE_END 44*4882a593Smuzhiyun }; 45*4882a593Smuzhiyun 46*4882a593Smuzhiyun const zend_function_entry dbus_funcs_dbus_object[] = { 47*4882a593Smuzhiyun- PHP_ME(DbusObject, __construct, NULL, ZEND_ACC_CTOR|ZEND_ACC_PRIVATE) 48*4882a593Smuzhiyun+ PHP_ME(DbusObject, __construct, arginfo_void, ZEND_ACC_CTOR|ZEND_ACC_PRIVATE) 49*4882a593Smuzhiyun PHP_ME(DbusObject, __call, arginfo_dbus_object___call, ZEND_ACC_PUBLIC) 50*4882a593Smuzhiyun PHP_FE_END 51*4882a593Smuzhiyun }; 52*4882a593Smuzhiyun 53*4882a593Smuzhiyun const zend_function_entry dbus_funcs_dbus_signal[] = { 54*4882a593Smuzhiyun- PHP_ME(DbusSignal, __construct, NULL, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC) 55*4882a593Smuzhiyun- PHP_ME(DbusSignal, matches, NULL, ZEND_ACC_PUBLIC) 56*4882a593Smuzhiyun- PHP_ME(DbusSignal, getData, NULL, ZEND_ACC_PUBLIC) 57*4882a593Smuzhiyun- PHP_ME(DbusSignal, send, NULL, ZEND_ACC_PUBLIC) 58*4882a593Smuzhiyun+ PHP_ME(DbusSignal, __construct, arginfo_void, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC) 59*4882a593Smuzhiyun+ PHP_ME(DbusSignal, matches, arginfo_void, ZEND_ACC_PUBLIC) 60*4882a593Smuzhiyun+ PHP_ME(DbusSignal, getData, arginfo_void, ZEND_ACC_PUBLIC) 61*4882a593Smuzhiyun+ PHP_ME(DbusSignal, send, arginfo_void, ZEND_ACC_PUBLIC) 62*4882a593Smuzhiyun PHP_FE_END 63*4882a593Smuzhiyun }; 64*4882a593Smuzhiyun 65*4882a593Smuzhiyun const zend_function_entry dbus_funcs_dbus_array[] = { 66*4882a593Smuzhiyun- PHP_ME(DbusArray, __construct, NULL, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC) 67*4882a593Smuzhiyun- PHP_ME(DbusArray, getData, NULL, ZEND_ACC_PUBLIC) 68*4882a593Smuzhiyun+ PHP_ME(DbusArray, __construct, arginfo_void, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC) 69*4882a593Smuzhiyun+ PHP_ME(DbusArray, getData, arginfo_void, ZEND_ACC_PUBLIC) 70*4882a593Smuzhiyun PHP_FE_END 71*4882a593Smuzhiyun }; 72*4882a593Smuzhiyun 73*4882a593Smuzhiyun const zend_function_entry dbus_funcs_dbus_dict[] = { 74*4882a593Smuzhiyun- PHP_ME(DbusDict, __construct, NULL, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC) 75*4882a593Smuzhiyun- PHP_ME(DbusDict, getData, NULL, ZEND_ACC_PUBLIC) 76*4882a593Smuzhiyun+ PHP_ME(DbusDict, __construct, arginfo_void, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC) 77*4882a593Smuzhiyun+ PHP_ME(DbusDict, getData, arginfo_void, ZEND_ACC_PUBLIC) 78*4882a593Smuzhiyun PHP_FE_END 79*4882a593Smuzhiyun }; 80*4882a593Smuzhiyun 81*4882a593Smuzhiyun #define PHP_DBUS_INT_WRAPPER_DEF(s,t) \ 82*4882a593Smuzhiyun const zend_function_entry dbus_funcs_dbus_##s[] = { \ 83*4882a593Smuzhiyun- PHP_ME(Dbus##t, __construct, NULL, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC) \ 84*4882a593Smuzhiyun+ PHP_ME(Dbus##t, __construct, arginfo_void, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC) \ 85*4882a593Smuzhiyun PHP_FE_END \ 86*4882a593Smuzhiyun }; 87*4882a593Smuzhiyun 88*4882a593Smuzhiyun@@ -98,26 +101,26 @@ PHP_DBUS_INT_WRAPPER_DEF(uint64,UInt64); 89*4882a593Smuzhiyun PHP_DBUS_INT_WRAPPER_DEF(double, Double); 90*4882a593Smuzhiyun 91*4882a593Smuzhiyun const zend_function_entry dbus_funcs_dbus_variant[] = { 92*4882a593Smuzhiyun- PHP_ME(DbusVariant, __construct, NULL, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC) 93*4882a593Smuzhiyun- PHP_ME(DbusVariant, getData, NULL, ZEND_ACC_PUBLIC) 94*4882a593Smuzhiyun+ PHP_ME(DbusVariant, __construct, arginfo_void, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC) 95*4882a593Smuzhiyun+ PHP_ME(DbusVariant, getData, arginfo_void, ZEND_ACC_PUBLIC) 96*4882a593Smuzhiyun PHP_FE_END 97*4882a593Smuzhiyun }; 98*4882a593Smuzhiyun 99*4882a593Smuzhiyun const zend_function_entry dbus_funcs_dbus_set[] = { 100*4882a593Smuzhiyun- PHP_ME(DbusSet, __construct, NULL, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC) 101*4882a593Smuzhiyun- PHP_ME(DbusSet, getData, NULL, ZEND_ACC_PUBLIC) 102*4882a593Smuzhiyun+ PHP_ME(DbusSet, __construct, arginfo_void, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC) 103*4882a593Smuzhiyun+ PHP_ME(DbusSet, getData, arginfo_void, ZEND_ACC_PUBLIC) 104*4882a593Smuzhiyun PHP_FE_END 105*4882a593Smuzhiyun }; 106*4882a593Smuzhiyun 107*4882a593Smuzhiyun const zend_function_entry dbus_funcs_dbus_struct[] = { 108*4882a593Smuzhiyun- PHP_ME(DbusStruct, __construct, NULL, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC) 109*4882a593Smuzhiyun- PHP_ME(DbusStruct, getData, NULL, ZEND_ACC_PUBLIC) 110*4882a593Smuzhiyun+ PHP_ME(DbusStruct, __construct, arginfo_void, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC) 111*4882a593Smuzhiyun+ PHP_ME(DbusStruct, getData, arginfo_void, ZEND_ACC_PUBLIC) 112*4882a593Smuzhiyun PHP_FE_END 113*4882a593Smuzhiyun }; 114*4882a593Smuzhiyun 115*4882a593Smuzhiyun const zend_function_entry dbus_funcs_dbus_object_path[] = { 116*4882a593Smuzhiyun- PHP_ME(DbusObjectPath, __construct, NULL, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC) 117*4882a593Smuzhiyun- PHP_ME(DbusObjectPath, getData, NULL, ZEND_ACC_PUBLIC) 118*4882a593Smuzhiyun+ PHP_ME(DbusObjectPath, __construct, arginfo_void, ZEND_ACC_CTOR|ZEND_ACC_PUBLIC) 119*4882a593Smuzhiyun+ PHP_ME(DbusObjectPath, getData, arginfo_void, ZEND_ACC_PUBLIC) 120*4882a593Smuzhiyun PHP_FE_END 121*4882a593Smuzhiyun }; 122*4882a593Smuzhiyun 123*4882a593Smuzhiyun@@ -405,7 +408,11 @@ static void dbus_register_classes(TSRMLS_D) 124*4882a593Smuzhiyun dbus_ce_dbus = zend_register_internal_class_ex(&ce_dbus, NULL); 125*4882a593Smuzhiyun memcpy(&dbus_object_handlers_dbus, zend_get_std_object_handlers(), sizeof(zend_object_handlers)); 126*4882a593Smuzhiyun dbus_object_handlers_dbus.clone_obj = dbus_object_clone_dbus; 127*4882a593Smuzhiyun+#if PHP_VERSION_ID < 80000 128*4882a593Smuzhiyun dbus_object_handlers_dbus.compare_objects = dbus_object_compare_dbus; 129*4882a593Smuzhiyun+#else 130*4882a593Smuzhiyun+ dbus_object_handlers_dbus.compare = dbus_object_compare_dbus; 131*4882a593Smuzhiyun+#endif 132*4882a593Smuzhiyun 133*4882a593Smuzhiyun zend_declare_class_constant_long(dbus_ce_dbus, "BYTE", sizeof("BYTE")-1, DBUS_TYPE_BYTE TSRMLS_CC); 134*4882a593Smuzhiyun zend_declare_class_constant_long(dbus_ce_dbus, "BOOLEAN", sizeof("BOOLEAN")-1, DBUS_TYPE_BOOLEAN TSRMLS_CC); 135*4882a593Smuzhiyundiff --git a/php_dbus.h b/php_dbus.h 136*4882a593Smuzhiyunindex 8817544..1f0f551 100644 137*4882a593Smuzhiyun--- a/php_dbus.h 138*4882a593Smuzhiyun+++ b/php_dbus.h 139*4882a593Smuzhiyun@@ -25,6 +25,16 @@ 140*4882a593Smuzhiyun #include "config.h" 141*4882a593Smuzhiyun #endif 142*4882a593Smuzhiyun 143*4882a593Smuzhiyun+#if PHP_VERSION_ID >= 80000 144*4882a593Smuzhiyun+#ifndef TSRMLS_D 145*4882a593Smuzhiyun+#define TSRMLS_D void 146*4882a593Smuzhiyun+#define TSRMLS_DC 147*4882a593Smuzhiyun+#define TSRMLS_C 148*4882a593Smuzhiyun+#define TSRMLS_CC 149*4882a593Smuzhiyun+#define TSRMLS_FETCH() 150*4882a593Smuzhiyun+#endif 151*4882a593Smuzhiyun+#endif /* PHP_VERSION_ID >= 80000 */ 152*4882a593Smuzhiyun+ 153*4882a593Smuzhiyun #include "Zend/zend_hash.h" 154*4882a593Smuzhiyun 155*4882a593Smuzhiyun #define PHP_DBUS_VERSION "0.2.0" 156*4882a593Smuzhiyun-- 157*4882a593Smuzhiyun2.31.1 158*4882a593Smuzhiyun 159