Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/phpredis/phpredis.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Grunder <michael.grunder@gmail.com>2018-09-29 21:59:01 +0300
committerGitHub <noreply@github.com>2018-09-29 21:59:01 +0300
commit2c9e0572361d5131f24fbc81a8f7baaafb671994 (patch)
tree6982b1e1f17b7cf2fc7e024652fad8212edadacd /redis_session.c
parentbfd274712eeb372926d1106b3da3c4fc19c0a48a (diff)
Streams (#1413)
Streams API
Diffstat (limited to 'redis_session.c')
-rw-r--r--redis_session.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/redis_session.c b/redis_session.c
index 08022cb1..7f1a2656 100644
--- a/redis_session.c
+++ b/redis_session.c
@@ -1061,7 +1061,7 @@ PS_READ_FUNC(rediscluster) {
redisCluster *c = PS_GET_MOD_DATA();
clusterReply *reply;
char *cmd, *skey;
- int cmdlen, skeylen;
+ int cmdlen, skeylen, free_flag;
short slot;
/* Set up our command and slot information */
@@ -1084,7 +1084,7 @@ PS_READ_FUNC(rediscluster) {
efree(cmd);
/* Attempt to read reply */
- reply = cluster_read_resp(c TSRMLS_CC);
+ reply = cluster_read_resp(c, 0 TSRMLS_CC);
if (!reply || c->err) {
if (reply) cluster_free_reply(reply, 1);
return FAILURE;
@@ -1099,16 +1099,20 @@ PS_READ_FUNC(rediscluster) {
*val = reply->str;
*vallen = reply->len;
}
+
+ free_flag = 0;
#else
if (reply->str == NULL) {
*val = ZSTR_EMPTY_ALLOC();
} else {
*val = zend_string_init(reply->str, reply->len, 0);
}
+
+ free_flag = 1;
#endif
/* Clean up */
- cluster_free_reply(reply, 0);
+ cluster_free_reply(reply, free_flag);
/* Success! */
return SUCCESS;
@@ -1148,7 +1152,7 @@ PS_WRITE_FUNC(rediscluster) {
efree(cmd);
/* Attempt to read reply */
- reply = cluster_read_resp(c TSRMLS_CC);
+ reply = cluster_read_resp(c, 0 TSRMLS_CC);
if (!reply || c->err) {
if (reply) cluster_free_reply(reply, 1);
return FAILURE;
@@ -1188,7 +1192,7 @@ PS_DESTROY_FUNC(rediscluster) {
efree(cmd);
/* Attempt to read reply */
- reply = cluster_read_resp(c TSRMLS_CC);
+ reply = cluster_read_resp(c, 0 TSRMLS_CC);
if (!reply || c->err) {
if (reply) cluster_free_reply(reply, 1);
return FAILURE;