diff options
author | guybe7 <guy.benoish@redislabs.com> | 2022-10-24 17:30:16 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-24 18:30:16 +0300 |
commit | f8970fdbfa138f8576340ff0af73c3d2603c7e8e (patch) | |
tree | afd145861d2b7536745c5546e85d51056b9642a9 /src | |
parent | 737a090511f0aacc53d9b9f91a8f30106a1d7464 (diff) | |
download | redis-f8970fdbfa138f8576340ff0af73c3d2603c7e8e.tar.gz |
Cleanup: Remove redundant arg from moduleCreateArgvFromUserFormat (#11426)
We do not need to return the length of argv because it is equal to argc, which we return anyway.
This change makes the code cleaner and adds a comment to explain something that might not be immediately clear.
Diffstat (limited to 'src')
-rw-r--r-- | src/module.c | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/src/module.c b/src/module.c index ff274825c..f03743681 100644 --- a/src/module.c +++ b/src/module.c @@ -444,7 +444,7 @@ struct ModuleConfig { void RM_FreeCallReply(RedisModuleCallReply *reply); void RM_CloseKey(RedisModuleKey *key); void autoMemoryCollect(RedisModuleCtx *ctx); -robj **moduleCreateArgvFromUserFormat(const char *cmdname, const char *fmt, int *argcp, int *argvlenp, int *flags, va_list ap); +robj **moduleCreateArgvFromUserFormat(const char *cmdname, const char *fmt, int *argcp, int *flags, va_list ap); void RM_ZsetRangeStop(RedisModuleKey *kp); static void zsetKeyReset(RedisModuleKey *key); static void moduleInitKeyTypeSpecific(RedisModuleKey *key); @@ -3226,7 +3226,7 @@ int RM_Replicate(RedisModuleCtx *ctx, const char *cmdname, const char *fmt, ...) /* Create the client and dispatch the command. */ va_start(ap, fmt); - argv = moduleCreateArgvFromUserFormat(cmdname,fmt,&argc,NULL,&flags,ap); + argv = moduleCreateArgvFromUserFormat(cmdname,fmt,&argc,&flags,ap); va_end(ap); if (argv == NULL) return REDISMODULE_ERR; @@ -5643,7 +5643,7 @@ void RM_SetContextUser(RedisModuleCtx *ctx, const RedisModuleUser *user) { /* Returns an array of robj pointers, by parsing the format specifier "fmt" as described for * the RM_Call(), RM_Replicate() and other module APIs. Populates *argcp with the number of - * items and *argvlenp with the length of the allocated argv. + * items (which equals to the length of the allocated argv). * * The integer pointed by 'flags' is populated with flags according * to special modifiers in "fmt". @@ -5657,7 +5657,7 @@ void RM_SetContextUser(RedisModuleCtx *ctx, const RedisModuleUser *user) { * * On error (format specifier error) NULL is returned and nothing is * allocated. On success the argument vector is returned. */ -robj **moduleCreateArgvFromUserFormat(const char *cmdname, const char *fmt, int *argcp, int *argvlenp, int *flags, va_list ap) { +robj **moduleCreateArgvFromUserFormat(const char *cmdname, const char *fmt, int *argcp, int *flags, va_list ap) { int argc = 0, argv_size, j; robj **argv = NULL; @@ -5734,7 +5734,6 @@ robj **moduleCreateArgvFromUserFormat(const char *cmdname, const char *fmt, int p++; } if (argcp) *argcp = argc; - if (argvlenp) *argvlenp = argv_size; return argv; fmterr: @@ -5823,7 +5822,7 @@ fmterr: RedisModuleCallReply *RM_Call(RedisModuleCtx *ctx, const char *cmdname, const char *fmt, ...) { client *c = NULL; robj **argv = NULL; - int argc = 0, argv_len = 0, flags = 0; + int argc = 0, flags = 0; va_list ap; RedisModuleCallReply *reply = NULL; int replicate = 0; /* Replicate this command? */ @@ -5832,7 +5831,7 @@ RedisModuleCallReply *RM_Call(RedisModuleCtx *ctx, const char *cmdname, const ch /* Handle arguments. */ va_start(ap, fmt); - argv = moduleCreateArgvFromUserFormat(cmdname,fmt,&argc,&argv_len,&flags,ap); + argv = moduleCreateArgvFromUserFormat(cmdname,fmt,&argc,&flags,ap); replicate = flags & REDISMODULE_ARGV_REPLICATE; error_as_call_replies = flags & REDISMODULE_ARGV_CALL_REPLIES_AS_ERRORS; va_end(ap); @@ -5856,8 +5855,9 @@ RedisModuleCallReply *RM_Call(RedisModuleCtx *ctx, const char *cmdname, const ch c->flags |= CLIENT_DENY_BLOCKING; c->db = ctx->client->db; c->argv = argv; - c->argc = argc; - c->argv_len = argv_len; + /* We have to assign argv_len, which is equal to argc in that case (RM_Call) + * because we may be calling a command that uses rewriteClientCommandArgument */ + c->argc = c->argv_len = argc; c->resp = 2; if (flags & REDISMODULE_ARGV_RESP_3) { c->resp = 3; @@ -7030,7 +7030,7 @@ void RM_EmitAOF(RedisModuleIO *io, const char *cmdname, const char *fmt, ...) { /* Emit the arguments into the AOF in Redis protocol format. */ va_start(ap, fmt); - argv = moduleCreateArgvFromUserFormat(cmdname,fmt,&argc,NULL,&flags,ap); + argv = moduleCreateArgvFromUserFormat(cmdname,fmt,&argc,&flags,ap); va_end(ap); if (argv == NULL) { serverLog(LL_WARNING, |