@@ -183,6 +183,8 @@ RedisArray *ra_load_array(const char *name TSRMLS_DC) {
183
183
zend_bool b_lazy_connect = 0 ;
184
184
double d_connect_timeout = 0 ;
185
185
HashTable * hHosts = NULL , * hPrev = NULL ;
186
+ size_t name_len = strlen (name ) + 1 ;
187
+ char * iptr ;
186
188
187
189
/* Initialize callbacks to undefined */
188
190
ZVAL_UNDEF (& z_fun );
@@ -194,54 +196,68 @@ RedisArray *ra_load_array(const char *name TSRMLS_DC) {
194
196
195
197
/* find hosts */
196
198
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 ) {
199
203
hHosts = Z_ARRVAL_P (z_hosts );
200
204
}
201
205
202
206
/* find previous hosts */
203
207
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 ) {
206
212
hPrev = Z_ARRVAL_P (z_prev );
207
213
}
208
214
209
215
/* find function */
210
216
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 ) {
213
221
ZVAL_DUP (& z_fun , z_data_p );
214
222
}
215
223
216
224
/* find distributor */
217
225
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 ) {
220
230
ZVAL_DUP (& z_dist , z_data_p );
221
231
}
222
232
223
233
/* find index option */
224
234
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 ) {
227
239
if (Z_TYPE_P (z_data_p ) == IS_STRING && strncmp (Z_STRVAL_P (z_data_p ), "1" , 1 ) == 0 ) {
228
240
b_index = 1 ;
229
241
}
230
242
}
231
243
232
244
/* find autorehash option */
233
245
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 ) {
236
250
if (Z_TYPE_P (z_data_p ) == IS_STRING && strncmp (Z_STRVAL_P (z_data_p ), "1" , 1 ) == 0 ) {
237
251
b_autorehash = 1 ;
238
252
}
239
253
}
240
254
241
255
/* find retry interval option */
242
256
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 ) {
245
261
if (Z_TYPE_P (z_data_p ) == IS_LONG || Z_TYPE_P (z_data_p ) == IS_STRING ) {
246
262
if (Z_TYPE_P (z_data_p ) == IS_LONG ) {
247
263
l_retry_interval = Z_LVAL_P (z_data_p );
@@ -254,26 +270,32 @@ RedisArray *ra_load_array(const char *name TSRMLS_DC) {
254
270
255
271
/* find pconnect option */
256
272
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 ) {
259
277
if (Z_TYPE_P (z_data_p ) == IS_STRING && strncmp (Z_STRVAL_P (z_data_p ), "1" , 1 ) == 0 ) {
260
278
b_pconnect = 1 ;
261
279
}
262
280
}
263
281
264
282
/* find lazy connect option */
265
283
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 ) {
268
288
if (Z_TYPE_P (z_data_p ) == IS_STRING && strncmp (Z_STRVAL_P (z_data_p ), "1" , 1 ) == 0 ) {
269
289
b_lazy_connect = 1 ;
270
290
}
271
291
}
272
292
273
293
/* find connect timeout option */
274
294
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 ) {
277
299
if (Z_TYPE_P (z_data_p ) == IS_DOUBLE ||
278
300
Z_TYPE_P (z_data_p ) == IS_STRING ||
279
301
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
1240
1262
}
1241
1263
}
1242
1264
1243
- /* vim: set tabstop=4 softtabstop=4 noexpandtab shiftwidth=4: */
1265
+ /* vim: set tabstop=4 softtabstop=4 expandtab shiftwidth=4: */
0 commit comments