From 9f485a0b82eb9b36d10ad2b4f5538810fa04abbe Mon Sep 17 00:00:00 2001 From: Alex Unigovsky Date: Mon, 5 Aug 2024 00:40:02 +0300 Subject: [PATCH 1/2] Added redisClustervCommandToNode and redisClustervAppendCommandToNode --- hircluster.c | 102 +++++++++++++++++++++++++++++++-------------------- hircluster.h | 6 +++ 2 files changed, 68 insertions(+), 40 deletions(-) diff --git a/hircluster.c b/hircluster.c index 2326b0a..d51020e 100644 --- a/hircluster.c +++ b/hircluster.c @@ -3034,21 +3034,10 @@ void *redisClustervCommand(redisClusterContext *cc, const char *format, return reply; } -void *redisClusterCommand(redisClusterContext *cc, const char *format, ...) { - va_list ap; - redisReply *reply = NULL; - - va_start(ap, format); - reply = redisClustervCommand(cc, format, ap); - va_end(ap); - - return reply; -} - -void *redisClusterCommandToNode(redisClusterContext *cc, redisClusterNode *node, - const char *format, ...) { +void *redisClustervCommandToNode(redisClusterContext *cc, + redisClusterNode *node, const char *format, + va_list ap) { redisContext *c; - va_list ap; int ret; void *reply; int updating_slotmap = 0; @@ -3066,9 +3055,7 @@ void *redisClusterCommandToNode(redisClusterContext *cc, redisClusterNode *node, memset(cc->errstr, '\0', sizeof(cc->errstr)); } - va_start(ap, format); ret = redisvAppendCommand(c, format, ap); - va_end(ap); if (ret != REDIS_OK) { __redisClusterSetError(cc, c->err, c->errstr); @@ -3101,6 +3088,29 @@ void *redisClusterCommandToNode(redisClusterContext *cc, redisClusterNode *node, return reply; } +void *redisClusterCommand(redisClusterContext *cc, const char *format, ...) { + va_list ap; + redisReply *reply = NULL; + + va_start(ap, format); + reply = redisClustervCommand(cc, format, ap); + va_end(ap); + + return reply; +} + +void *redisClusterCommandToNode(redisClusterContext *cc, redisClusterNode *node, + const char *format, ...) { + va_list ap; + redisReply *reply = NULL; + + va_start(ap, format); + reply = redisClustervCommandToNode(cc, node, format, ap); + va_end(ap); + + return reply; +} + void *redisClusterCommandArgv(redisClusterContext *cc, int argc, const char **argv, const size_t *argvlen) { redisReply *reply = NULL; @@ -3235,28 +3245,10 @@ int redisClustervAppendCommand(redisClusterContext *cc, const char *format, return ret; } -int redisClusterAppendCommand(redisClusterContext *cc, const char *format, - ...) { - - int ret; - va_list ap; - - if (cc == NULL || format == NULL) { - return REDIS_ERR; - } - - va_start(ap, format); - ret = redisClustervAppendCommand(cc, format, ap); - va_end(ap); - - return ret; -} - -int redisClusterAppendCommandToNode(redisClusterContext *cc, - redisClusterNode *node, const char *format, - ...) { +int redisClustervAppendCommandToNode(redisClusterContext *cc, + redisClusterNode *node, const char *format, + va_list ap) { redisContext *c; - va_list ap; struct cmd *command = NULL; char *cmd = NULL; int len; @@ -3277,10 +3269,7 @@ int redisClusterAppendCommandToNode(redisClusterContext *cc, return REDIS_ERR; } - /* Allocate cmd and encode the variadic command */ - va_start(ap, format); len = redisvFormatCommand(&cmd, format, ap); - va_end(ap); if (len == -1) { goto oom; @@ -3319,6 +3308,39 @@ int redisClusterAppendCommandToNode(redisClusterContext *cc, return REDIS_ERR; } +int redisClusterAppendCommand(redisClusterContext *cc, const char *format, + ...) { + int ret; + va_list ap; + + if (cc == NULL || format == NULL) { + return REDIS_ERR; + } + + va_start(ap, format); + ret = redisClustervAppendCommand(cc, format, ap); + va_end(ap); + + return ret; +} + +int redisClusterAppendCommandToNode(redisClusterContext *cc, + redisClusterNode *node, const char *format, + ...) { + int ret; + va_list ap; + + if (cc == NULL || node == NULL || format == NULL) { + return REDIS_ERR; + } + + va_start(ap, format); + ret = redisClustervAppendCommandToNode(cc, node, format, ap); + va_end(ap); + + return ret; +} + int redisClusterAppendCommandArgv(redisClusterContext *cc, int argc, const char **argv, const size_t *argvlen) { int ret; diff --git a/hircluster.h b/hircluster.h index 4a36538..6fd80a9 100644 --- a/hircluster.h +++ b/hircluster.h @@ -245,6 +245,9 @@ void *redisClusterCommandToNode(redisClusterContext *cc, redisClusterNode *node, /* Variadic using va_list */ void *redisClustervCommand(redisClusterContext *cc, const char *format, va_list ap); +void *redisClustervCommandToNode(redisClusterContext *cc, + redisClusterNode *node, const char *format, + va_list ap); /* Using argc and argv */ void *redisClusterCommandArgv(redisClusterContext *cc, int argc, const char **argv, const size_t *argvlen); @@ -265,6 +268,9 @@ int redisClusterAppendCommandToNode(redisClusterContext *cc, /* Variadic using va_list */ int redisClustervAppendCommand(redisClusterContext *cc, const char *format, va_list ap); +int redisClustervAppendCommandToNode(redisClusterContext *cc, + redisClusterNode *node, const char *format, + va_list ap); /* Using argc and argv */ int redisClusterAppendCommandArgv(redisClusterContext *cc, int argc, const char **argv, const size_t *argvlen); From 1dee2f54252d31525492747e39171ac8786d583a Mon Sep 17 00:00:00 2001 From: Alex Unigovsky Date: Mon, 5 Aug 2024 01:11:03 +0300 Subject: [PATCH 2/2] Shorten the PR diff size --- hircluster.c | 54 ++++++++++++++++++++++++++-------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/hircluster.c b/hircluster.c index d51020e..0de5b98 100644 --- a/hircluster.c +++ b/hircluster.c @@ -3034,6 +3034,17 @@ void *redisClustervCommand(redisClusterContext *cc, const char *format, return reply; } +void *redisClusterCommand(redisClusterContext *cc, const char *format, ...) { + va_list ap; + redisReply *reply = NULL; + + va_start(ap, format); + reply = redisClustervCommand(cc, format, ap); + va_end(ap); + + return reply; +} + void *redisClustervCommandToNode(redisClusterContext *cc, redisClusterNode *node, const char *format, va_list ap) { @@ -3088,17 +3099,6 @@ void *redisClustervCommandToNode(redisClusterContext *cc, return reply; } -void *redisClusterCommand(redisClusterContext *cc, const char *format, ...) { - va_list ap; - redisReply *reply = NULL; - - va_start(ap, format); - reply = redisClustervCommand(cc, format, ap); - va_end(ap); - - return reply; -} - void *redisClusterCommandToNode(redisClusterContext *cc, redisClusterNode *node, const char *format, ...) { va_list ap; @@ -3245,6 +3245,22 @@ int redisClustervAppendCommand(redisClusterContext *cc, const char *format, return ret; } +int redisClusterAppendCommand(redisClusterContext *cc, const char *format, + ...) { + int ret; + va_list ap; + + if (cc == NULL || format == NULL) { + return REDIS_ERR; + } + + va_start(ap, format); + ret = redisClustervAppendCommand(cc, format, ap); + va_end(ap); + + return ret; +} + int redisClustervAppendCommandToNode(redisClusterContext *cc, redisClusterNode *node, const char *format, va_list ap) { @@ -3308,22 +3324,6 @@ int redisClustervAppendCommandToNode(redisClusterContext *cc, return REDIS_ERR; } -int redisClusterAppendCommand(redisClusterContext *cc, const char *format, - ...) { - int ret; - va_list ap; - - if (cc == NULL || format == NULL) { - return REDIS_ERR; - } - - va_start(ap, format); - ret = redisClustervAppendCommand(cc, format, ap); - va_end(ap); - - return ret; -} - int redisClusterAppendCommandToNode(redisClusterContext *cc, redisClusterNode *node, const char *format, ...) {