From 6ed678a91490f62a828bc9cb76eb78e190f660b4 Mon Sep 17 00:00:00 2001 From: Yusaku Kaneta Date: Mon, 17 Oct 2016 18:22:52 +0900 Subject: [PATCH] supported optional modes --- rmutil/util.h | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/rmutil/util.h b/rmutil/util.h index 10930a3..9249a53 100644 --- a/rmutil/util.h +++ b/rmutil/util.h @@ -13,13 +13,15 @@ return REDISMODULE_ERR; \ } - -#define __rmutil_register_cmd(ctx, cmd, f, mode) if (RedisModule_CreateCommand(ctx, cmd, f, mode, \ - 1, 1, 1) == REDISMODULE_ERR) return REDISMODULE_ERR; +#define __rmutil_register_cmd(ctx, cmd, f, mode) \ + if (RedisModule_CreateCommand(ctx, cmd, f, \ + (!strcmp(mode, "readonly ")) ? "readonly" : \ + (!strcmp(mode, "write ")) ? "write" : mode, \ + 1, 1, 1) == REDISMODULE_ERR) return REDISMODULE_ERR; -#define RMUtil_RegisterReadCmd(ctx, cmd, f) __rmutil_register_cmd(ctx, cmd, f, "readonly") +#define RMUtil_RegisterReadCmd(ctx, cmd, f, ...) __rmutil_register_cmd(ctx, cmd, f, "readonly " __VA_ARGS__) -#define RMUtil_RegisterWriteCmd(ctx, cmd, f) __rmutil_register_cmd(ctx, cmd, f, "write") +#define RMUtil_RegisterWriteCmd(ctx, cmd, f, ...) __rmutil_register_cmd(ctx, cmd, f, "write " __VA_ARGS__) /* RedisModule utilities. */