|
@@ -161,7 +161,7 @@ static int w_redis_cmd3(struct sip_msg* msg, char* ssrv, char* scmd, char* sres)
|
|
return -1;
|
|
return -1;
|
|
}
|
|
}
|
|
|
|
|
|
- if(redisc_exec(&s[0], &s[1], NULL, NULL, NULL, &s[2])<0)
|
|
|
|
|
|
+ if(redisc_exec(&s[0], &s[2], &s[1])<0)
|
|
return -1;
|
|
return -1;
|
|
return 1;
|
|
return 1;
|
|
}
|
|
}
|
|
@@ -172,7 +172,9 @@ static int w_redis_cmd3(struct sip_msg* msg, char* ssrv, char* scmd, char* sres)
|
|
static int w_redis_cmd4(struct sip_msg* msg, char* ssrv, char* scmd,
|
|
static int w_redis_cmd4(struct sip_msg* msg, char* ssrv, char* scmd,
|
|
char *sargv1, char* sres)
|
|
char *sargv1, char* sres)
|
|
{
|
|
{
|
|
- str s[4];
|
|
|
|
|
|
+ str s[3];
|
|
|
|
+ str arg1;
|
|
|
|
+ char c1;
|
|
|
|
|
|
if(fixup_get_svalue(msg, (gparam_t*)ssrv, &s[0])!=0)
|
|
if(fixup_get_svalue(msg, (gparam_t*)ssrv, &s[0])!=0)
|
|
{
|
|
{
|
|
@@ -184,19 +186,24 @@ static int w_redis_cmd4(struct sip_msg* msg, char* ssrv, char* scmd,
|
|
LM_ERR("no redis command\n");
|
|
LM_ERR("no redis command\n");
|
|
return -1;
|
|
return -1;
|
|
}
|
|
}
|
|
- if(fixup_get_svalue(msg, (gparam_t*)sargv1, &s[2])!=0)
|
|
|
|
|
|
+ if(fixup_get_svalue(msg, (gparam_t*)sargv1, &arg1)!=0)
|
|
{
|
|
{
|
|
LM_ERR("no argument 1\n");
|
|
LM_ERR("no argument 1\n");
|
|
return -1;
|
|
return -1;
|
|
}
|
|
}
|
|
- if(fixup_get_svalue(msg, (gparam_t*)sres, &s[3])!=0)
|
|
|
|
|
|
+ if(fixup_get_svalue(msg, (gparam_t*)sres, &s[2])!=0)
|
|
{
|
|
{
|
|
LM_ERR("no redis reply name\n");
|
|
LM_ERR("no redis reply name\n");
|
|
return -1;
|
|
return -1;
|
|
}
|
|
}
|
|
|
|
|
|
- if(redisc_exec(&s[0], &s[1], &s[2], NULL, NULL, &s[3])<0)
|
|
|
|
|
|
+ c1 = arg1.s[arg1.len];
|
|
|
|
+ arg1.s[arg1.len] = '\0';
|
|
|
|
+ if(redisc_exec(&s[0], &s[2], &s[1], arg1.s)<0) {
|
|
|
|
+ arg1.s[arg1.len] = c1;
|
|
return -1;
|
|
return -1;
|
|
|
|
+ }
|
|
|
|
+ arg1.s[arg1.len] = c1;
|
|
return 1;
|
|
return 1;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -206,7 +213,9 @@ static int w_redis_cmd4(struct sip_msg* msg, char* ssrv, char* scmd,
|
|
static int w_redis_cmd5(struct sip_msg* msg, char* ssrv, char* scmd,
|
|
static int w_redis_cmd5(struct sip_msg* msg, char* ssrv, char* scmd,
|
|
char *sargv1, char *sargv2, char* sres)
|
|
char *sargv1, char *sargv2, char* sres)
|
|
{
|
|
{
|
|
- str s[5];
|
|
|
|
|
|
+ str s[3];
|
|
|
|
+ str arg1, arg2;
|
|
|
|
+ char c1, c2;
|
|
|
|
|
|
if(fixup_get_svalue(msg, (gparam_t*)ssrv, &s[0])!=0)
|
|
if(fixup_get_svalue(msg, (gparam_t*)ssrv, &s[0])!=0)
|
|
{
|
|
{
|
|
@@ -218,24 +227,33 @@ static int w_redis_cmd5(struct sip_msg* msg, char* ssrv, char* scmd,
|
|
LM_ERR("no redis command\n");
|
|
LM_ERR("no redis command\n");
|
|
return -1;
|
|
return -1;
|
|
}
|
|
}
|
|
- if(fixup_get_svalue(msg, (gparam_t*)sargv1, &s[2])!=0)
|
|
|
|
|
|
+ if(fixup_get_svalue(msg, (gparam_t*)sargv1, &arg1)!=0)
|
|
{
|
|
{
|
|
LM_ERR("no argument 1\n");
|
|
LM_ERR("no argument 1\n");
|
|
return -1;
|
|
return -1;
|
|
}
|
|
}
|
|
- if(fixup_get_svalue(msg, (gparam_t*)sargv2, &s[3])!=0)
|
|
|
|
|
|
+ if(fixup_get_svalue(msg, (gparam_t*)sargv2, &arg2)!=0)
|
|
{
|
|
{
|
|
LM_ERR("no argument 2\n");
|
|
LM_ERR("no argument 2\n");
|
|
return -1;
|
|
return -1;
|
|
}
|
|
}
|
|
- if(fixup_get_svalue(msg, (gparam_t*)sres, &s[4])!=0)
|
|
|
|
|
|
+ if(fixup_get_svalue(msg, (gparam_t*)sres, &s[2])!=0)
|
|
{
|
|
{
|
|
LM_ERR("no redis reply name\n");
|
|
LM_ERR("no redis reply name\n");
|
|
return -1;
|
|
return -1;
|
|
}
|
|
}
|
|
|
|
|
|
- if(redisc_exec(&s[0], &s[1], &s[2], &s[3], NULL, &s[4])<0)
|
|
|
|
|
|
+ c1 = arg1.s[arg1.len];
|
|
|
|
+ c2 = arg2.s[arg2.len];
|
|
|
|
+ arg1.s[arg1.len] = '\0';
|
|
|
|
+ arg2.s[arg2.len] = '\0';
|
|
|
|
+ if(redisc_exec(&s[0], &s[2], &s[1], arg1.s, arg2.s)<0) {
|
|
|
|
+ c1 = arg1.s[arg1.len];
|
|
|
|
+ c2 = arg2.s[arg2.len];
|
|
return -1;
|
|
return -1;
|
|
|
|
+ }
|
|
|
|
+ c1 = arg1.s[arg1.len];
|
|
|
|
+ c2 = arg2.s[arg2.len];
|
|
return 1;
|
|
return 1;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -245,7 +263,9 @@ static int w_redis_cmd5(struct sip_msg* msg, char* ssrv, char* scmd,
|
|
static int w_redis_cmd6(struct sip_msg* msg, char* ssrv, char* scmd,
|
|
static int w_redis_cmd6(struct sip_msg* msg, char* ssrv, char* scmd,
|
|
char *sargv1, char *sargv2, char *sargv3, char* sres)
|
|
char *sargv1, char *sargv2, char *sargv3, char* sres)
|
|
{
|
|
{
|
|
- str s[6];
|
|
|
|
|
|
+ str s[3];
|
|
|
|
+ str arg1, arg2, arg3;
|
|
|
|
+ char c1, c2, c3;
|
|
|
|
|
|
if(fixup_get_svalue(msg, (gparam_t*)ssrv, &s[0])!=0)
|
|
if(fixup_get_svalue(msg, (gparam_t*)ssrv, &s[0])!=0)
|
|
{
|
|
{
|
|
@@ -257,29 +277,42 @@ static int w_redis_cmd6(struct sip_msg* msg, char* ssrv, char* scmd,
|
|
LM_ERR("no redis command\n");
|
|
LM_ERR("no redis command\n");
|
|
return -1;
|
|
return -1;
|
|
}
|
|
}
|
|
- if(fixup_get_svalue(msg, (gparam_t*)sargv1, &s[2])!=0)
|
|
|
|
|
|
+ if(fixup_get_svalue(msg, (gparam_t*)sargv1, &arg1)!=0)
|
|
{
|
|
{
|
|
LM_ERR("no argument 1\n");
|
|
LM_ERR("no argument 1\n");
|
|
return -1;
|
|
return -1;
|
|
}
|
|
}
|
|
- if(fixup_get_svalue(msg, (gparam_t*)sargv2, &s[3])!=0)
|
|
|
|
|
|
+ if(fixup_get_svalue(msg, (gparam_t*)sargv2, &arg2)!=0)
|
|
{
|
|
{
|
|
LM_ERR("no argument 2\n");
|
|
LM_ERR("no argument 2\n");
|
|
return -1;
|
|
return -1;
|
|
}
|
|
}
|
|
- if(fixup_get_svalue(msg, (gparam_t*)sargv3, &s[4])!=0)
|
|
|
|
|
|
+ if(fixup_get_svalue(msg, (gparam_t*)sargv3, &arg3)!=0)
|
|
{
|
|
{
|
|
LM_ERR("no argument 3\n");
|
|
LM_ERR("no argument 3\n");
|
|
return -1;
|
|
return -1;
|
|
}
|
|
}
|
|
- if(fixup_get_svalue(msg, (gparam_t*)sres, &s[5])!=0)
|
|
|
|
|
|
+ if(fixup_get_svalue(msg, (gparam_t*)sres, &s[2])!=0)
|
|
{
|
|
{
|
|
LM_ERR("no redis reply name\n");
|
|
LM_ERR("no redis reply name\n");
|
|
return -1;
|
|
return -1;
|
|
}
|
|
}
|
|
|
|
|
|
- if(redisc_exec(&s[0], &s[1], &s[2], &s[3], &s[4], &s[5])<0)
|
|
|
|
|
|
+ c1 = arg1.s[arg1.len];
|
|
|
|
+ c2 = arg2.s[arg2.len];
|
|
|
|
+ c3 = arg3.s[arg3.len];
|
|
|
|
+ arg1.s[arg1.len] = '\0';
|
|
|
|
+ arg2.s[arg2.len] = '\0';
|
|
|
|
+ arg3.s[arg3.len] = '\0';
|
|
|
|
+ if(redisc_exec(&s[0], &s[2], &s[1], arg1.s, arg2.s, arg3.s)<0) {
|
|
|
|
+ c1 = arg1.s[arg1.len];
|
|
|
|
+ c2 = arg2.s[arg2.len];
|
|
|
|
+ c3 = arg3.s[arg3.len];
|
|
return -1;
|
|
return -1;
|
|
|
|
+ }
|
|
|
|
+ c1 = arg1.s[arg1.len];
|
|
|
|
+ c2 = arg2.s[arg2.len];
|
|
|
|
+ c3 = arg3.s[arg3.len];
|
|
return 1;
|
|
return 1;
|
|
}
|
|
}
|
|
|
|
|