Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/phpredis/phpredis.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--library.h19
-rw-r--r--redis_legacy_arginfo.h202
-rw-r--r--redis_sentinel.c4
-rw-r--r--redis_sentinel_legacy_arginfo.h65
4 files changed, 271 insertions, 19 deletions
diff --git a/library.h b/library.h
index f6d59364..293012c6 100644
--- a/library.h
+++ b/library.h
@@ -23,31 +23,12 @@
#define redis_sock_write_sstr(redis_sock, sstr) \
redis_sock_write(redis_sock, (sstr)->c, (sstr)->len)
-#if PHP_VERSION_ID < 70200
-/* drop return type hinting in PHP 7.0 and 7.1*/
-#undef ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX
-#define ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(name, return_reference, required_num_args, type, allow_null) \
- ZEND_BEGIN_ARG_INFO_EX(name, 0, return_reference, required_num_args)
-#endif
-
#if PHP_VERSION_ID < 80000
#define redis_hash_fetch_ops(zstr) php_hash_fetch_ops(ZSTR_VAL((zstr)), ZSTR_LEN((zstr)))
/* use RedisException when ValueError not available */
#define REDIS_VALUE_EXCEPTION(m) REDIS_THROW_EXCEPTION(m, 0)
#define RETURN_THROWS() RETURN_FALSE
-
- /* default value only managed in 8+ */
- #define ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(pass_by_ref, name, type_hint, allow_null, default_value) \
- ZEND_ARG_TYPE_INFO(pass_by_ref, name, type_hint, allow_null)
-
- /* union type only managed in 8+ */
- #define ZEND_ARG_TYPE_MASK(pass_by_ref, name, type_mask, default_value) ZEND_ARG_INFO(pass_by_ref, name)
-
- #define ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(name, return_reference, required_num_args, type) \
- ZEND_BEGIN_ARG_INFO_EX(name, 0, return_reference, required_num_args)
-
- #define IS_MIXED 0
#else
#define redis_hash_fetch_ops(zstr) php_hash_fetch_ops(zstr)
diff --git a/redis_legacy_arginfo.h b/redis_legacy_arginfo.h
new file mode 100644
index 00000000..3e3a8cfc
--- /dev/null
+++ b/redis_legacy_arginfo.h
@@ -0,0 +1,202 @@
+/* This is a generated file, edit the .stub.php file instead.
+ * Stub hash: be75361e8e76c8a25455d7c40a36735b56a9e8a0 */
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Redis___construct, 0, 0, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_Redis___destruct arginfo_class_Redis___construct
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Redis_connect, 0, 0, 1)
+ ZEND_ARG_INFO(0, host)
+ ZEND_ARG_INFO(0, port)
+ ZEND_ARG_INFO(0, timeout)
+ ZEND_ARG_INFO(0, persistent_id)
+ ZEND_ARG_INFO(0, retry_interval)
+ ZEND_ARG_INFO(0, read_timeout)
+ ZEND_ARG_INFO(0, context)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_Redis_pconnect arginfo_class_Redis_connect
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Redis_bitop, 0, 0, 3)
+ ZEND_ARG_INFO(0, operation)
+ ZEND_ARG_INFO(0, deskey)
+ ZEND_ARG_INFO(0, srckey)
+ ZEND_ARG_VARIADIC_INFO(0, otherkeys)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Redis_bitcount, 0, 0, 1)
+ ZEND_ARG_INFO(0, key)
+ ZEND_ARG_INFO(0, start)
+ ZEND_ARG_INFO(0, end)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Redis_bitpos, 0, 0, 2)
+ ZEND_ARG_INFO(0, key)
+ ZEND_ARG_INFO(0, bit)
+ ZEND_ARG_INFO(0, start)
+ ZEND_ARG_INFO(0, end)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_Redis_close arginfo_class_Redis___construct
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Redis_set, 0, 0, 2)
+ ZEND_ARG_INFO(0, key)
+ ZEND_ARG_INFO(0, value)
+ ZEND_ARG_INFO(0, opt)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Redis_setex, 0, 0, 3)
+ ZEND_ARG_INFO(0, key)
+ ZEND_ARG_INFO(0, expire)
+ ZEND_ARG_INFO(0, value)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_Redis_psetex arginfo_class_Redis_setex
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Redis_setnx, 0, 0, 2)
+ ZEND_ARG_INFO(0, key)
+ ZEND_ARG_INFO(0, value)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_Redis_getset arginfo_class_Redis_setnx
+
+#define arginfo_class_Redis_randomKey arginfo_class_Redis___construct
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Redis_echo, 0, 0, 1)
+ ZEND_ARG_INFO(0, str)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Redis_rename, 0, 0, 2)
+ ZEND_ARG_INFO(0, key_src)
+ ZEND_ARG_INFO(0, key_dst)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_Redis_renameNx arginfo_class_Redis_rename
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Redis_get, 0, 0, 1)
+ ZEND_ARG_INFO(0, key)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Redis_ping, 0, 0, 0)
+ ZEND_ARG_INFO(0, key)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_Redis_incr arginfo_class_Redis_get
+
+#define arginfo_class_Redis_incrBy arginfo_class_Redis_setnx
+
+#define arginfo_class_Redis_incrByFloat arginfo_class_Redis_setnx
+
+#define arginfo_class_Redis_decr arginfo_class_Redis_get
+
+#define arginfo_class_Redis_decrBy arginfo_class_Redis_setnx
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Redis_mget, 0, 0, 1)
+ ZEND_ARG_INFO(0, keys)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_Redis_exists arginfo_class_Redis_get
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Redis_del, 0, 0, 1)
+ ZEND_ARG_INFO(0, key)
+ ZEND_ARG_VARIADIC_INFO(0, otherkeys)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_Redis_unlink arginfo_class_Redis_del
+
+#define arginfo_class_Redis_watch arginfo_class_Redis_del
+
+#define arginfo_class_Redis_unwatch arginfo_class_Redis___construct
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Redis_keys, 0, 0, 1)
+ ZEND_ARG_INFO(0, pattern)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_Redis_keys arginfo_class_Redis_get
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Redis_acl, 0, 0, 1)
+ ZEND_ARG_INFO(0, subcmd)
+ ZEND_ARG_VARIADIC_INFO(0, args)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_Redis_delete arginfo_class_Redis_del
+
+#define arginfo_class_Redis_open arginfo_class_Redis_connect
+
+#define arginfo_class_Redis_popen arginfo_class_Redis_connect
+
+
+ZEND_METHOD(Redis, __construct);
+ZEND_METHOD(Redis, __destruct);
+ZEND_METHOD(Redis, connect);
+ZEND_METHOD(Redis, pconnect);
+ZEND_METHOD(Redis, bitop);
+ZEND_METHOD(Redis, bitcount);
+ZEND_METHOD(Redis, bitpos);
+ZEND_METHOD(Redis, close);
+ZEND_METHOD(Redis, set);
+ZEND_METHOD(Redis, setex);
+ZEND_METHOD(Redis, psetex);
+ZEND_METHOD(Redis, setnx);
+ZEND_METHOD(Redis, getset);
+ZEND_METHOD(Redis, randomKey);
+ZEND_METHOD(Redis, echo);
+ZEND_METHOD(Redis, rename);
+ZEND_METHOD(Redis, renameNx);
+ZEND_METHOD(Redis, get);
+ZEND_METHOD(Redis, ping);
+ZEND_METHOD(Redis, incr);
+ZEND_METHOD(Redis, incrBy);
+ZEND_METHOD(Redis, incrByFloat);
+ZEND_METHOD(Redis, decr);
+ZEND_METHOD(Redis, decrBy);
+ZEND_METHOD(Redis, mget);
+ZEND_METHOD(Redis, exists);
+ZEND_METHOD(Redis, del);
+ZEND_METHOD(Redis, unlink);
+ZEND_METHOD(Redis, watch);
+ZEND_METHOD(Redis, unwatch);
+ZEND_METHOD(Redis, keys);
+ZEND_METHOD(Redis, acl);
+
+
+static const zend_function_entry class_Redis_methods[] = {
+ ZEND_ME(Redis, __construct, arginfo_class_Redis___construct, ZEND_ACC_PUBLIC)
+ ZEND_ME(Redis, __destruct, arginfo_class_Redis___destruct, ZEND_ACC_PUBLIC)
+ ZEND_ME(Redis, connect, arginfo_class_Redis_connect, ZEND_ACC_PUBLIC)
+ ZEND_ME(Redis, pconnect, arginfo_class_Redis_pconnect, ZEND_ACC_PUBLIC)
+ ZEND_ME(Redis, bitop, arginfo_class_Redis_bitop, ZEND_ACC_PUBLIC)
+ ZEND_ME(Redis, bitcount, arginfo_class_Redis_bitcount, ZEND_ACC_PUBLIC)
+ ZEND_ME(Redis, bitpos, arginfo_class_Redis_bitpos, ZEND_ACC_PUBLIC)
+ ZEND_ME(Redis, close, arginfo_class_Redis_close, ZEND_ACC_PUBLIC)
+ ZEND_ME(Redis, set, arginfo_class_Redis_set, ZEND_ACC_PUBLIC)
+ ZEND_ME(Redis, setex, arginfo_class_Redis_setex, ZEND_ACC_PUBLIC)
+ ZEND_ME(Redis, psetex, arginfo_class_Redis_psetex, ZEND_ACC_PUBLIC)
+ ZEND_ME(Redis, setnx, arginfo_class_Redis_setnx, ZEND_ACC_PUBLIC)
+ ZEND_ME(Redis, getset, arginfo_class_Redis_getset, ZEND_ACC_PUBLIC)
+ ZEND_ME(Redis, randomKey, arginfo_class_Redis_randomKey, ZEND_ACC_PUBLIC)
+ ZEND_ME(Redis, echo, arginfo_class_Redis_echo, ZEND_ACC_PUBLIC)
+ ZEND_ME(Redis, rename, arginfo_class_Redis_rename, ZEND_ACC_PUBLIC)
+ ZEND_ME(Redis, renameNx, arginfo_class_Redis_renameNx, ZEND_ACC_PUBLIC)
+ ZEND_ME(Redis, get, arginfo_class_Redis_get, ZEND_ACC_PUBLIC)
+ ZEND_ME(Redis, ping, arginfo_class_Redis_ping, ZEND_ACC_PUBLIC)
+ ZEND_ME(Redis, incr, arginfo_class_Redis_incr, ZEND_ACC_PUBLIC)
+ ZEND_ME(Redis, incrBy, arginfo_class_Redis_incrBy, ZEND_ACC_PUBLIC)
+ ZEND_ME(Redis, incrByFloat, arginfo_class_Redis_incrByFloat, ZEND_ACC_PUBLIC)
+ ZEND_ME(Redis, decr, arginfo_class_Redis_decr, ZEND_ACC_PUBLIC)
+ ZEND_ME(Redis, decrBy, arginfo_class_Redis_decrBy, ZEND_ACC_PUBLIC)
+ ZEND_ME(Redis, mget, arginfo_class_Redis_mget, ZEND_ACC_PUBLIC)
+ ZEND_ME(Redis, exists, arginfo_class_Redis_exists, ZEND_ACC_PUBLIC)
+ ZEND_ME(Redis, del, arginfo_class_Redis_del, ZEND_ACC_PUBLIC)
+ ZEND_ME(Redis, unlink, arginfo_class_Redis_unlink, ZEND_ACC_PUBLIC)
+ ZEND_ME(Redis, watch, arginfo_class_Redis_watch, ZEND_ACC_PUBLIC)
+ ZEND_ME(Redis, unwatch, arginfo_class_Redis_unwatch, ZEND_ACC_PUBLIC)
+ ZEND_ME(Redis, keys, arginfo_class_Redis_keys, ZEND_ACC_PUBLIC)
+ ZEND_ME(Redis, keys, arginfo_class_Redis_keys, ZEND_ACC_PUBLIC)
+ ZEND_ME(Redis, acl, arginfo_class_Redis_acl, ZEND_ACC_PUBLIC)
+ ZEND_MALIAS(Redis, delete, del, arginfo_class_Redis_delete, ZEND_ACC_PUBLIC|ZEND_ACC_DEPRECATED)
+ ZEND_MALIAS(Redis, open, connect, arginfo_class_Redis_open, ZEND_ACC_PUBLIC|ZEND_ACC_DEPRECATED)
+ ZEND_MALIAS(Redis, popen, pconnect, arginfo_class_Redis_popen, ZEND_ACC_PUBLIC|ZEND_ACC_DEPRECATED)
+ ZEND_FE_END
+};
diff --git a/redis_sentinel.c b/redis_sentinel.c
index b89cdb3d..ca72640e 100644
--- a/redis_sentinel.c
+++ b/redis_sentinel.c
@@ -23,7 +23,11 @@
zend_class_entry *redis_sentinel_ce;
extern zend_class_entry *redis_exception_ce;
+#if PHP_VERSION_ID < 80000
+#include "redis_sentinel_legacy_arginfo.h"
+#else
#include "redis_sentinel_arginfo.h"
+#endif
extern const zend_function_entry *redis_sentinel_get_methods(void)
{
diff --git a/redis_sentinel_legacy_arginfo.h b/redis_sentinel_legacy_arginfo.h
new file mode 100644
index 00000000..76d222ce
--- /dev/null
+++ b/redis_sentinel_legacy_arginfo.h
@@ -0,0 +1,65 @@
+/* This is a generated file, edit the .stub.php file instead.
+ * Stub hash: 779d2b82a083131e73402389db47d08355a2417e */
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisSentinel___construct, 0, 0, 1)
+ ZEND_ARG_INFO(0, host)
+ ZEND_ARG_INFO(0, port)
+ ZEND_ARG_INFO(0, timeout)
+ ZEND_ARG_INFO(0, persistent)
+ ZEND_ARG_INFO(0, retry_interval)
+ ZEND_ARG_INFO(0, read_timeout)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisSentinel_ckquorum, 0, 0, 1)
+ ZEND_ARG_INFO(0, master)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_RedisSentinel_failover arginfo_class_RedisSentinel_ckquorum
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisSentinel_flushconfig, 0, 0, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_RedisSentinel_getMasterAddrByName arginfo_class_RedisSentinel_ckquorum
+
+#define arginfo_class_RedisSentinel_master arginfo_class_RedisSentinel_ckquorum
+
+#define arginfo_class_RedisSentinel_masters arginfo_class_RedisSentinel_flushconfig
+
+#define arginfo_class_RedisSentinel_ping arginfo_class_RedisSentinel_flushconfig
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_RedisSentinel_reset, 0, 0, 1)
+ ZEND_ARG_INFO(0, pattern)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_RedisSentinel_sentinels arginfo_class_RedisSentinel_ckquorum
+
+#define arginfo_class_RedisSentinel_slaves arginfo_class_RedisSentinel_ckquorum
+
+
+ZEND_METHOD(RedisSentinel, __construct);
+ZEND_METHOD(RedisSentinel, ckquorum);
+ZEND_METHOD(RedisSentinel, failover);
+ZEND_METHOD(RedisSentinel, flushconfig);
+ZEND_METHOD(RedisSentinel, getMasterAddrByName);
+ZEND_METHOD(RedisSentinel, master);
+ZEND_METHOD(RedisSentinel, masters);
+ZEND_METHOD(RedisSentinel, ping);
+ZEND_METHOD(RedisSentinel, reset);
+ZEND_METHOD(RedisSentinel, sentinels);
+ZEND_METHOD(RedisSentinel, slaves);
+
+
+static const zend_function_entry class_RedisSentinel_methods[] = {
+ ZEND_ME(RedisSentinel, __construct, arginfo_class_RedisSentinel___construct, ZEND_ACC_PUBLIC)
+ ZEND_ME(RedisSentinel, ckquorum, arginfo_class_RedisSentinel_ckquorum, ZEND_ACC_PUBLIC)
+ ZEND_ME(RedisSentinel, failover, arginfo_class_RedisSentinel_failover, ZEND_ACC_PUBLIC)
+ ZEND_ME(RedisSentinel, flushconfig, arginfo_class_RedisSentinel_flushconfig, ZEND_ACC_PUBLIC)
+ ZEND_ME(RedisSentinel, getMasterAddrByName, arginfo_class_RedisSentinel_getMasterAddrByName, ZEND_ACC_PUBLIC)
+ ZEND_ME(RedisSentinel, master, arginfo_class_RedisSentinel_master, ZEND_ACC_PUBLIC)
+ ZEND_ME(RedisSentinel, masters, arginfo_class_RedisSentinel_masters, ZEND_ACC_PUBLIC)
+ ZEND_ME(RedisSentinel, ping, arginfo_class_RedisSentinel_ping, ZEND_ACC_PUBLIC)
+ ZEND_ME(RedisSentinel, reset, arginfo_class_RedisSentinel_reset, ZEND_ACC_PUBLIC)
+ ZEND_ME(RedisSentinel, sentinels, arginfo_class_RedisSentinel_sentinels, ZEND_ACC_PUBLIC)
+ ZEND_ME(RedisSentinel, slaves, arginfo_class_RedisSentinel_slaves, ZEND_ACC_PUBLIC)
+ ZEND_FE_END
+};