提交 e73f319a authored 作者: Chris Rienzo's avatar Chris Rienzo 提交者: Andrey Volk

FS-11858 [mod_hiredis] allow using single-quote when setting key to a value that has spaces

上级 fb695c52
......@@ -304,7 +304,12 @@ static switch_status_t hiredis_context_execute_requests(hiredis_context_t *conte
/* eval needs special formatting to work properly */
redisAppendCommand(context->context, "eval %s %d %s", cur_request->request, cur_request->num_keys, cur_request->keys ? cur_request->keys : "");
} else {
redisAppendCommand(context->context, cur_request->request);
if (cur_request->argc == 0) {
cur_request->argc = switch_separate_string(cur_request->request, ' ', cur_request->argv, MOD_HIREDIS_MAX_ARGS);
}
if (cur_request->argc > 0) {
redisAppendCommandArgv(context->context, cur_request->argc, (const char **)cur_request->argv, NULL);
}
}
}
......
......@@ -5,6 +5,8 @@
#include <switch.h>
#include <hiredis/hiredis.h>
#define MOD_HIREDIS_MAX_ARGS 64
typedef struct mod_hiredis_global_s {
switch_memory_pool_t *pool;
switch_hash_t *profiles;
......@@ -25,6 +27,8 @@ typedef struct hiredis_request_s {
switch_mutex_t *mutex;
switch_thread_cond_t *cond;
struct hiredis_request_s *next;
size_t argc;
char *argv[MOD_HIREDIS_MAX_ARGS];
} hiredis_request_t;
typedef struct mod_hiredis_context_s {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论