Fix build with PHP 7.3
Obtained from: https://github.com/php-memcached-dev/php-memcached/commit/8bfdbcc9063dafcb25fdb1d1705e07ee027d7379
This commit is contained in:
@@ -18,10 +18,11 @@ OPTIONS_DEFINE= IGBINARY SASL
|
||||
OPTIONS_DEFAULT=SASL
|
||||
IGBINARY_DESC= Binary serializer support
|
||||
|
||||
USES= php:pecl pkgconfig
|
||||
USE_PHP= json:build session:build
|
||||
|
||||
CONFIGURE_ARGS= --with-libmemcached-dir=${LOCALBASE}
|
||||
IGNORE_WITH_PHP=56
|
||||
USE_PHP= json:build session:build
|
||||
USES= php:pecl pkgconfig
|
||||
|
||||
IGBINARY_CONFIGURE_ENABLE= memcached-igbinary
|
||||
IGBINARY_USE= PHP=igbinary:build
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
Obtained from: https://github.com/php-memcached-dev/php-memcached/commit/8bfdbcc9063dafcb25fdb1d1705e07ee027d7379
|
||||
|
||||
--- php_memcached.c.orig 2017-11-21 05:01:28 UTC
|
||||
+++ php_memcached.c
|
||||
@@ -1281,7 +1281,7 @@ static PHP_METHOD(Memcached, __construct
|
||||
le.type = php_memc_list_entry();
|
||||
le.ptr = intern->memc;
|
||||
|
||||
- GC_REFCOUNT(&le) = 1;
|
||||
+ GC_SET_REFCOUNT(&le, 1);
|
||||
|
||||
/* plist_key is not a persistent allocated key, thus we use str_update here */
|
||||
if (zend_hash_str_update_mem(&EG(persistent_list), ZSTR_VAL(plist_key), ZSTR_LEN(plist_key), &le, sizeof(le)) == NULL) {
|
||||
@@ -3654,7 +3654,7 @@ PHP_METHOD(MemcachedServer, on)
|
||||
|
||||
Z_TRY_ADDREF(fci.function_name);
|
||||
if (fci.object) {
|
||||
- GC_REFCOUNT(fci.object)++;
|
||||
+ GC_ADDREF(fci.object);
|
||||
}
|
||||
}
|
||||
RETURN_BOOL(rc);
|
||||
@@ -0,0 +1,18 @@
|
||||
Obtained from: https://github.com/php-memcached-dev/php-memcached/commit/8bfdbcc9063dafcb25fdb1d1705e07ee027d7379
|
||||
|
||||
--- php_memcached_private.h.orig 2017-11-21 05:01:28 UTC
|
||||
+++ php_memcached_private.h
|
||||
@@ -72,6 +72,13 @@ typedef unsigned long int uint32_t;
|
||||
# endif
|
||||
#endif
|
||||
|
||||
+/* Backwards compatibility for GC API change in PHP 7.3 */
|
||||
+#if PHP_VERSION_ID < 70300
|
||||
+# define GC_ADDREF(p) ++GC_REFCOUNT(p)
|
||||
+# define GC_DELREF(p) --GC_REFCOUNT(p)
|
||||
+# define GC_SET_REFCOUNT(p, rc) GC_REFCOUNT(p) = rc
|
||||
+#endif
|
||||
+
|
||||
/****************************************
|
||||
Structures and definitions
|
||||
****************************************/
|
||||
@@ -0,0 +1,13 @@
|
||||
Obtained from: https://github.com/php-memcached-dev/php-memcached/commit/8bfdbcc9063dafcb25fdb1d1705e07ee027d7379
|
||||
|
||||
--- php_memcached_session.c.orig 2017-11-21 05:01:28 UTC
|
||||
+++ php_memcached_session.c
|
||||
@@ -376,7 +376,7 @@ PS_OPEN_FUNC(memcached)
|
||||
le.type = s_memc_sess_list_entry();
|
||||
le.ptr = memc;
|
||||
|
||||
- GC_REFCOUNT(&le) = 1;
|
||||
+ GC_SET_REFCOUNT(&le, 1);
|
||||
|
||||
/* plist_key is not a persistent allocated key, thus we use str_update here */
|
||||
if (zend_hash_str_update_mem(&EG(persistent_list), plist_key, plist_key_len, &le, sizeof(le)) == NULL) {
|
||||
Reference in New Issue
Block a user