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:
authorPavlo Yatsukhnenko <yatsukhnenko@gmail.com>2016-11-17 01:05:57 +0300
committerPavlo Yatsukhnenko <yatsukhnenko@gmail.com>2016-11-17 01:05:57 +0300
commit4857693868eceaf961553ffff09696314834fc85 (patch)
tree8ffc43158d4fc6b8d9a5c5e14dbe6eb3e655546d /cluster_library.c
parenteb507bcf46ea0b24d9585f26afaeb500ece8e3a1 (diff)
redis_unserialize
Diffstat (limited to 'cluster_library.c')
-rw-r--r--cluster_library.c26
1 files changed, 14 insertions, 12 deletions
diff --git a/cluster_library.c b/cluster_library.c
index 0759cd65..feb4f09e 100644
--- a/cluster_library.c
+++ b/cluster_library.c
@@ -1519,17 +1519,16 @@ PHP_REDIS_API void cluster_bulk_resp(INTERNAL_FUNCTION_PARAMETERS, redisCluster
}
if (CLUSTER_IS_ATOMIC(c)) {
- if (redis_unserialize(c->flags, resp, c->reply_len, &return_value
- TSRMLS_CC) == 0)
- {
+ if (!redis_unserialize(c->flags, resp, c->reply_len, return_value TSRMLS_CC)) {
CLUSTER_RETURN_STRING(c, resp, c->reply_len);
}
} else {
zval zv, *z = &zv;
+ if (redis_unserialize(c->flags, resp, c->reply_len, z TSRMLS_CC)) {
#if (PHP_MAJOR_VERSION < 7)
- z = NULL;
+ MAKE_STD_ZVAL(z);
+ *z = zv;
#endif
- if (redis_unserialize(c->flags, resp, c->reply_len, &z TSRMLS_CC)) {
add_next_index_zval(&c->multi_resp, z);
} else {
add_next_index_stringl(&c->multi_resp, resp, c->reply_len);
@@ -2343,10 +2342,11 @@ int mbulk_resp_loop(RedisSock *redis_sock, zval *z_result,
if (line != NULL) {
zval zv, *z = &zv;
+ if (redis_unserialize(redis_sock, line, line_len, z TSRMLS_CC)) {
#if (PHP_MAJOR_VERSION < 7)
- z = NULL;
+ MAKE_STD_ZVAL(z);
+ *z = zv;
#endif
- if(redis_unserialize(redis_sock, line, line_len, &z TSRMLS_CC)==1) {
add_next_index_zval(z_result, z);
} else {
add_next_index_stringl(z_result, line, line_len);
@@ -2387,10 +2387,11 @@ int mbulk_resp_loop_zipstr(RedisSock *redis_sock, zval *z_result,
} else {
/* Attempt serialization */
zval zv, *z = &zv;
+ if (redis_unserialize(redis_sock, line, line_len, z TSRMLS_CC)) {
#if (PHP_MAJOR_VERSION < 7)
- z = NULL;
+ MAKE_STD_ZVAL(z);
+ *z = zv;
#endif
- if(redis_unserialize(redis_sock, line, line_len, &z TSRMLS_CC)==1) {
add_assoc_zval(z_result, key, z);
} else {
add_assoc_stringl_ex(z_result, key, key_len, line, line_len);
@@ -2425,7 +2426,7 @@ int mbulk_resp_loop_zipdbl(RedisSock *redis_sock, zval *z_result,
key_len = line_len;
} else {
zval zv, *z = &zv;
- if (redis_unserialize(redis_sock,key,key_len, &z TSRMLS_CC)) {
+ if (redis_unserialize(redis_sock,key,key_len, z TSRMLS_CC)) {
convert_to_string(z);
add_assoc_double_ex(z_result, Z_STRVAL_P(z), Z_STRLEN_P(z), atof(line));
zval_dtor(z);
@@ -2457,10 +2458,11 @@ int mbulk_resp_loop_assoc(RedisSock *redis_sock, zval *z_result,
if(line != NULL) {
zval zv, *z = &zv;
+ if (redis_unserialize(redis_sock, line, line_len, z TSRMLS_CC)) {
#if (PHP_MAJOR_VERSION < 7)
- z = NULL;
+ MAKE_STD_ZVAL(z);
+ *z = zv;
#endif
- if(redis_unserialize(redis_sock, line, line_len, &z TSRMLS_CC)==1) {
add_assoc_zval_ex(z_result,Z_STRVAL(z_keys[i]),
Z_STRLEN(z_keys[i]), z);
} else {