summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfilipecosta90 <filipecosta.90@gmail.com>2019-09-23 23:45:31 +0100
committerfilipecosta90 <filipecosta.90@gmail.com>2019-09-23 23:45:31 +0100
commit733280d9cb1122dd15440429137610a4237869d4 (patch)
treeaa6f4e4607031ee6c82c56111db8d07b870476d2
parent4a30a26f8fbb54854f5b29b77fd3c744e8be4290 (diff)
downloadredis-733280d9cb1122dd15440429137610a4237869d4.tar.gz
[fix] un-refactor the code. [perf] replyWithStatus now makes usage of addReplyProto
-rw-r--r--src/module.c29
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