8000 Apply changes from PR #909 · jrtkcoder/phpredis@78fff4d · GitHub
[go: up one dir, main page]

Skip to content

Commit 78fff4d

Browse files
committed
Apply changes from PR phpredis#909
1 parent d9bd4e9 commit 78fff4d

File tree

1 file changed

+43
-21
lines changed

1 file changed

+43
-21
lines changed

redis_array_impl.c

Lines changed: 43 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,8 @@ RedisArray *ra_load_array(const char *name TSRMLS_DC) {
183183
zend_bool b_lazy_connect = 0;
184184
double d_connect_timeout = 0;
185185
HashTable *hHosts = NULL, *hPrev = NULL;
186+
size_t name_len = strlen(name) + 1;
187+
char *iptr;
186188

187189
/* Initialize callbacks to undefined */
188190
ZVAL_UNDEF(&z_fun);
@@ -194,54 +196,68 @@ RedisArray *ra_load_array(const char *name TSRMLS_DC) {
194196

195197
/* find hosts */
196198
array_init(&z_params_hosts);
197-
sapi_module.treat_data(PARSE_STRING, estrdup(INI_STR("redis.arrays.hosts")), &z_params_hosts TSRMLS_CC);
198-
if ((z_hosts = zend_hash_str_find(Z_ARRVAL(z_params_hosts), name, strlen(name))) != NULL) {
199+
if ((iptr = INI_STR("redis.arrays.hosts")) != NULL) {
200+
sapi_module.treat_data(PARSE_STRING, estrdup(iptr), &z_params_hosts TSRMLS_CC);
201+
}
202+
if ((z_hosts = zend_hash_str_find(Z_ARRVAL(z_params_hosts), name, name_len)) != NULL) {
199203
hHosts = Z_ARRVAL_P(z_hosts);
200204
}
201205

202206
/* find previous hosts */
203207
array_init(&z_params_prev);
204-
sapi_module.treat_data(PARSE_STRING, estrdup(INI_STR("redis.arrays.previous")), &z_params_prev TSRMLS_CC);
205-
if ((z_prev = zend_hash_str_find(Z_ARRVAL(z_params_prev), name, strlen(name))) != NULL) {
208+
if ((iptr = INI_STR("redis.arrays.previous")) != NULL) {
209+
sapi_module.treat_data(PARSE_STRING, estrdup(iptr), &z_params_prev TSRMLS_CC);
210+
}
211+
if ((z_prev = zend_hash_str_find(Z_ARRVAL(z_params_prev), name, name_len)) != NULL) {
206212
hPrev = Z_ARRVAL_P(z_prev);
207213
}
208214

209215
/* find function */
210216
array_init(&z_params_funs);
211-
sapi_module.treat_data(PARSE_STRING, estrdup(INI_STR("redis.arrays.functions")), &z_params_funs TSRMLS_CC);
212-
if ((z_data_p = zend_hash_str_find(Z_ARRVAL(z_params_funs), name, strlen(name))) != NULL) {
217+
if ((iptr = INI_STR("redis.arrays.functions")) != NULL) {
218+
sapi_module.treat_data(PARSE_STRING, estrdup(iptr), &z_params_funs TSRMLS_CC);
219+
}
220+
if ((z_data_p = zend_hash_str_find(Z_ARRVAL(z_params_funs), name, name_len)) != NULL) {
213221
ZVAL_DUP(&z_fun, z_data_p);
214222
}
215223

216224
/* find distributor */
217225
array_init(&z_params_funs);
218-
sapi_module.treat_data(PARSE_STRING, estrdup(INI_STR("redis.arrays.distributor")), &z_params_funs TSRMLS_CC);
219-
if ((z_data_p = zend_hash_str_find(Z_ARRVAL(z_params_funs), name, strlen(name))) != NULL) {
226+
if ((iptr = INI_STR("redis.arrays.distributor")) != NULL) {
227+
sapi_module.treat_data(PARSE_STRING, estrdup(iptr), &z_params_funs TSRMLS_CC);
228+
}
229+
if ((z_data_p = zend_hash_str_find(Z_ARRVAL(z_params_funs), name, name_len)) != NULL) {
220230
ZVAL_DUP(&z_dist, z_data_p);
221231
}
222232

223233
/* find index option */
224234
array_init(&z_params_index);
225-
sapi_module.treat_data(PARSE_STRING, estrdup(INI_STR("redis.arrays.index")), &z_params_index TSRMLS_CC);
226-
if ((z_data_p = zend_hash_str_find(Z_ARRVAL(z_params_index), name, strlen(name))) != NULL) {
235+
if ((iptr = INI_STR("redis.arrays.index")) != NULL) {
236+
sapi_module.treat_data(PARSE_STRING, estrdup(iptr), &z_params_index TSRMLS_CC);
237+
}
238+
if ((z_data_p = zend_hash_str_find(Z_ARRVAL(z_params_index), name, name_len)) != NULL) {
227239
if(Z_TYPE_P(z_data_p) == IS_STRING && strncmp(Z_STRVAL_P(z_data_p), "1", 1) == 0) {
228240
b_index = 1;
229241
}
230242
}
231243

232244
/* find autorehash option */
233245
array_init(&z_params_autorehash);
234-
sapi_module.treat_data(PARSE_STRING, estrdup(INI_STR("redis.arrays.autorehash")), &z_params_autorehash TSRMLS_CC);
235-
if ((z_data_p = zend_hash_str_find(Z_ARRVAL(z_params_autorehash), name, strlen(name))) != NULL) {
246+
if ((iptr = INI_STR("redis.arrays.autorehash")) != NULL) {
247+
sapi_module.treat_data(PARSE_STRING, estrdup(iptr), &z_params_autorehash TSRMLS_CC);
248+
}
249+
if ((z_data_p = zend_hash_str_find(Z_ARRVAL(z_params_autorehash), name, name_len)) != NULL) {
236250
if(Z_TYPE_P(z_data_p) == IS_STRING && strncmp(Z_STRVAL_P(z_data_p), "1", 1) == 0) {
237251
b_autorehash = 1;
238252
}
239253
}
240254

241255
/* find retry interval option */
242256
array_init(&z_params_retry_interval);
243-
sapi_module.treat_data(PARSE_STRING, estrdup(INI_STR("redis.arrays.retryinterval")), &z_params_retry_interval TSRMLS_CC);
244-
if ((z_data_p = zend_hash_str_find(Z_ARRVAL(z_params_retry_interval), name, strlen(name))) != NULL) {
257+
if ((iptr = INI_STR("redis.arrays.retryinterval")) != NULL) {
258+
sapi_module.treat_data(PARSE_STRING, estrdup(iptr), &z_params_retry_interval TSRMLS_CC);
259+
}
260+
if ((z_data_p = zend_hash_str_find(Z_ARRVAL(z_params_retry_interval), name, name_len)) != NULL) {
245261
if (Z_TYPE_P(z_data_p) == IS_LONG || Z_TYPE_P(z_data_p) == IS_STRING) {
246262
if (Z_TYPE_P(z_data_p) == IS_LONG) {
247263
l_retry_interval = Z_LVAL_P(z_data_p);
@@ -254,26 +270,32 @@ RedisArray *ra_load_array(const char *name TSRMLS_DC) {
254270

255271
/* find pconnect option */
256272
array_init(&z_params_pconnect);
257-
sapi_module.treat_data(PARSE_STRING, estrdup(INI_STR("redis.arrays.pconnect")), &z_params_pconnect TSRMLS_CC);
258-
if ((z_data_p = zend_hash_str_find(Z_ARRVAL(z_params_pconnect), name, strlen(name))) != NULL) {
273+
if ((iptr = INI_STR("redis.arrays.pconnect")) != NULL) {
274+
sapi_module.treat_data(PARSE_STRING, estrdup(iptr), &z_params_pconnect TSRMLS_CC);
275+
}
276+
if ((z_data_p = zend_hash_str_find(Z_ARRVAL(z_params_pconnect), name, name_len)) != NULL) {
259277
if(Z_TYPE_P(z_data_p) == IS_STRING && strncmp(Z_STRVAL_P(z_data_p), "1", 1) == 0) {
260278
b_pconnect = 1;
261279
}
262280
}
263281

264282
/* find lazy connect option */
265283
array_init(&z_params_lazy_connect);
266-
sapi_module.treat_data(PARSE_STRING, estrdup(INI_STR("redis.arrays.lazyconnect")), &z_params_lazy_connect TSRMLS_CC);
267-
if ((z_data_p = zend_hash_str_find(Z_ARRVAL(z_params_lazy_connect), name, strlen(name))) != NULL) {
284+
if ((iptr = INI_STR("redis.arrays.lazyconnect")) != NULL) {
285+
sapi_module.treat_data(PARSE_STRING, estrdup(iptr), &z_params_lazy_connect TSRMLS_CC);
286+
}
287+
if ((z_data_p = zend_hash_str_find(Z_ARRVAL(z_params_lazy_connect), name, name_len)) != NULL) {
268288
if(Z_TYPE_P(z_data_p) == IS_STRING && strncmp(Z_STRVAL_P(z_data_p), "1", 1) == 0) {
269289
b_lazy_connect = 1;
270290
}
271291
}
272292

273293
/* find connect timeout option */
274294
array_init(&z_params_connect_timeout);
275-
sapi_module.treat_data(PARSE_STRING, estrdup(INI_STR("redis.arrays.connecttimeout")), &z_params_connect_timeout TSRMLS_CC);
276-
if ((z_data_p = zend_hash_str_find(Z_ARRVAL(z_params_connect_timeout), name, strlen(name))) != NULL) {
295+
if ((iptr = INI_STR("redis.arrays.connecttimeout")) != NULL) {
296+
sapi_module.treat_data(PARSE_STRING, estrdup(iptr), &z_params_connect_timeout TSRMLS_CC);
297+
}
298+
if ((z_data_p = zend_hash_str_find(Z_ARRVAL(z_params_connect_timeout), name, name_len)) != NULL) {
277299
if (Z_TYPE_P(z_data_p) == IS_DOUBLE ||
278300
Z_TYPE_P(z_data_p) == IS_STRING ||
279301
Z_TYPE_P(z_data_p) == IS_LONG)
@@ -1240,4 +1262,4 @@ ra_rehash(RedisArray *ra, zend_fcall_info *z_cb, zend_fcall_info_cache *z_cb_cac
12401262
}
12411263
}
12421264

1243-
/* vim: set tabstop=4 softtabstop=4 noexpandtab shiftwidth=4: */
1265+
/* vim: set tabstop=4 softtabstop=4 expandtab shiftwidth=4: */

0 commit comments

Comments
 (0)
0