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:
authorRemi Collet <remi@remirepo.net>2022-07-04 15:27:20 +0300
committerRemi Collet <remi@php.net>2022-07-18 14:45:45 +0300
commit3675f442e413bd864c12787c3b383b110ed26963 (patch)
treeeb67a42747b288260f88fd87db18dc36f42d7ddb /redis.c
parent0f1ca0ccf815352d79e716dac49b854491ecc994 (diff)
mark auth param as sensitive for PHP 8.2
refactor MINIT (split in each class sources file) use @generate-class-entries in stub files add RedisException and RedisClusterException in stub files
Diffstat (limited to 'redis.c')
-rw-r--r--redis.c40
1 files changed, 6 insertions, 34 deletions
diff --git a/redis.c b/redis.c
index bfa72b88..357405ec 100644
--- a/redis.c
+++ b/redis.c
@@ -52,17 +52,13 @@ extern ps_module ps_mod_redis;
extern ps_module ps_mod_redis_cluster;
#endif
-extern zend_class_entry *redis_array_ce;
-extern zend_class_entry *redis_cluster_ce;
-extern zend_class_entry *redis_cluster_exception_ce;
-extern zend_class_entry *redis_sentinel_ce;
-
zend_class_entry *redis_ce;
zend_class_entry *redis_exception_ce;
#if PHP_VERSION_ID < 80000
#include "redis_legacy_arginfo.h"
#else
+#include "zend_attributes.h"
#include "redis_arginfo.h"
#endif
@@ -440,14 +436,6 @@ static PHP_GINIT_FUNCTION(redis)
PHP_MINIT_FUNCTION(redis)
{
struct timeval tv;
-
- zend_class_entry redis_class_entry;
- zend_class_entry redis_array_class_entry;
- zend_class_entry redis_cluster_class_entry;
- zend_class_entry redis_sentinel_class_entry;
- zend_class_entry redis_exception_class_entry;
- zend_class_entry redis_cluster_exception_class_entry;
-
zend_class_entry *exception_ce = NULL;
/* Seed random generator (for RedisCluster failover) */
@@ -457,24 +445,17 @@ PHP_MINIT_FUNCTION(redis)
REGISTER_INI_ENTRIES();
/* Redis class */
- INIT_CLASS_ENTRY(redis_class_entry, "Redis", redis_get_methods());
- redis_ce = zend_register_internal_class(&redis_class_entry);
+ redis_ce = register_class_Redis();
redis_ce->create_object = create_redis_object;
/* RedisArray class */
- INIT_CLASS_ENTRY(redis_array_class_entry, "RedisArray", redis_array_get_methods());
- redis_array_ce = zend_register_internal_class(&redis_array_class_entry);
- redis_array_ce->create_object = create_redis_array_object;
+ ZEND_MINIT(redis_array)(INIT_FUNC_ARGS_PASSTHRU);
/* RedisCluster class */
- INIT_CLASS_ENTRY(redis_cluster_class_entry, "RedisCluster", redis_cluster_get_methods());
- redis_cluster_ce = zend_register_internal_class(&redis_cluster_class_entry);
- redis_cluster_ce->create_object = create_cluster_context;
+ ZEND_MINIT(redis_cluster)(INIT_FUNC_ARGS_PASSTHRU);
/* RedisSentinel class */
- INIT_CLASS_ENTRY(redis_sentinel_class_entry, "RedisSentinel", redis_sentinel_get_methods());
- redis_sentinel_ce = zend_register_internal_class(&redis_sentinel_class_entry);
- redis_sentinel_ce->create_object = create_sentinel_object;
+ ZEND_MINIT(redis_sentinel)(INIT_FUNC_ARGS_PASSTHRU);
/* Register our cluster cache list item */
le_cluster_slot_cache = zend_register_list_destructors_ex(NULL, cluster_cache_dtor,
@@ -488,16 +469,7 @@ PHP_MINIT_FUNCTION(redis)
}
/* RedisException class */
- INIT_CLASS_ENTRY(redis_exception_class_entry, "RedisException", NULL);
- redis_exception_ce = zend_register_internal_class_ex(
- &redis_exception_class_entry,
- exception_ce);
-
- /* RedisClusterException class */
- INIT_CLASS_ENTRY(redis_cluster_exception_class_entry,
- "RedisClusterException", NULL);
- redis_cluster_exception_ce = zend_register_internal_class_ex(
- &redis_cluster_exception_class_entry, exception_ce);
+ redis_exception_ce = register_class_RedisException(exception_ce);
/* Add shared class constants to Redis and RedisCluster objects */
add_class_constants(redis_ce, 0);