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>2017-01-30 00:33:05 +0300
committerPavlo Yatsukhnenko <yatsukhnenko@gmail.com>2017-02-10 18:41:03 +0300
commit8fa85afa7ab786ba124a86c7b9fdf34ecaff5aae (patch)
treeee81df9c7c09fb776f794e4242e3d46a351091d7 /redis_array_impl.c
parent388e4a84563233c7e436feea44ccbdd47027db1d (diff)
redis_object
Diffstat (limited to 'redis_array_impl.c')
-rw-r--r--redis_array_impl.c27
1 files changed, 9 insertions, 18 deletions
diff --git a/redis_array_impl.c b/redis_array_impl.c
index 860b44a8..01f586ca 100644
--- a/redis_array_impl.c
+++ b/redis_array_impl.c
@@ -26,7 +26,6 @@
#define PHPREDIS_INDEX_NAME "__phpredis_array_index__"
-extern int le_redis_sock;
extern zend_class_entry *redis_ce;
RedisArray*
@@ -36,7 +35,7 @@ ra_load_hosts(RedisArray *ra, HashTable *hosts, long retry_interval, zend_bool b
char *host, *p;
short port;
zval *zpData, z_cons, z_ret;
- RedisSock *redis_sock = NULL;
+ redis_object *redis;
/* function calls on the Redis object */
ZVAL_STRINGL(&z_cons, "__construct", 11);
@@ -72,29 +71,21 @@ ra_load_hosts(RedisArray *ra, HashTable *hosts, long retry_interval, zend_bool b
call_user_function(&redis_ce->function_table, &ra->redis[i], &z_cons, &z_ret, 0, NULL);
zval_dtor(&z_ret);
+#if (PHP_MAJOR_VERSION < 7)
+ redis = (redis_object *)zend_objects_get_address(&ra->redis[i] TSRMLS_CC);
+#else
+ redis = (redis_object *)((char *)Z_OBJ_P(&ra->redis[i]) - XtOffsetOf(redis_object, std));
+#endif
+
/* create socket */
- redis_sock = redis_sock_create(host, host_len, port, ra->connect_timeout, ra->pconnect, NULL, retry_interval, b_lazy_connect);
+ redis->sock = redis_sock_create(host, host_len, port, ra->connect_timeout, ra->pconnect, NULL, retry_interval, b_lazy_connect);
if (!b_lazy_connect)
{
/* connect */
- redis_sock_server_open(redis_sock, 1 TSRMLS_CC);
+ redis_sock_server_open(redis->sock, 1 TSRMLS_CC);
}
- /* attach */
-#if (PHP_MAJOR_VERSION < 7)
- int id;
-#if PHP_VERSION_ID >= 50400
- id = zend_list_insert(redis_sock, le_redis_sock TSRMLS_CC);
-#else
- id = zend_list_insert(redis_sock, le_redis_sock);
-#endif
- add_property_resource(&ra->redis[i], "socket", id);
-#else
- zval *id = zend_list_insert(redis_sock, le_redis_sock TSRMLS_CC);
- add_property_resource(&ra->redis[i], "socket", Z_RES_P(id));
-#endif
-
ra->count = ++i;
}