diff options
author | filipecosta90 <filipecosta.90@gmail.com> | 2019-09-23 23:45:31 +0100 |
---|---|---|
committer | filipecosta90 <filipecosta.90@gmail.com> | 2019-09-23 23:45:31 +0100 |
commit | 733280d9cb1122dd15440429137610a4237869d4 (patch) | |
tree | aa6f4e4607031ee6c82c56111db8d07b870476d2 | |
parent | 4a30a26f8fbb54854f5b29b77fd3c744e8be4290 (diff) | |
download | redis-733280d9cb1122dd15440429137610a4237869d4.tar.gz |
[fix] un-refactor the code. [perf] replyWithStatus now makes usage of addReplyProto
-rw-r--r-- | src/module.c | 29 |
1 files changed, 15 insertions, 14 deletions
diff --git a/src/module.c b/src/module.c index ad7e6864c..067a69928 100644 --- a/src/module.c +++ b/src/module.c @@ -1120,6 +1120,19 @@ int RM_ReplyWithLongLong(RedisModuleCtx *ctx, long long ll) { return REDISMODULE_OK; } +/* Reply with an error or simple string (status message). Used to implement + * ReplyWithSimpleString() and ReplyWithError(). + * The function always returns REDISMODULE_OK. */ +int replyWithStatus(RedisModuleCtx *ctx, const char *msg, char *prefix) { + client *c = moduleGetReplyClient(ctx); + if (c == NULL) return REDISMODULE_OK; + const size_t len = strlen(msg); + addReplyProto(c,"-",1); + addReplyProto(c,msg,len); + addReplyProto(c,"\r\n",2); + return REDISMODULE_OK; +} + /* Reply with the error 'err'. * * Note that 'err' must contain all the error, including @@ -1135,13 +1148,7 @@ int RM_ReplyWithLongLong(RedisModuleCtx *ctx, long long ll) { * The function always returns REDISMODULE_OK. */ int RM_ReplyWithError(RedisModuleCtx *ctx, const char *err) { - client *c = moduleGetReplyClient(ctx); - if (c == NULL) return REDISMODULE_OK; - const size_t len = strlen(err); - addReplyProto(c,"-",1); - addReplyProto(c,err,len); - addReplyProto(c,"\r\n",2); - return REDISMODULE_OK; + return replyWithStatus(ctx,err,"-"); } /* Reply with a simple string (+... \r\n in RESP protocol). This replies @@ -1150,13 +1157,7 @@ int RM_ReplyWithError(RedisModuleCtx *ctx, const char *err) { * * The function always returns REDISMODULE_OK. */ int RM_ReplyWithSimpleString(RedisModuleCtx *ctx, const char *msg) { - client *c = moduleGetReplyClient(ctx); - if (c == NULL) return REDISMODULE_OK; - const size_t len = strlen(msg); - addReplyProto(c,"+",1); - addReplyProto(c,msg,len); - addReplyProto(c,"\r\n",2); - return REDISMODULE_OK; + return replyWithStatus(ctx,msg,"+"); } /* Reply with an array type of 'len' elements. However 'len' other calls |