Skip to content

Commit 2634350

Browse files
committed
Use zend_string in ra_find_node_by_name
1 parent 09accba commit 2634350

File tree

3 files changed

+12
-17
lines changed

3 files changed

+12
-17
lines changed

redis_array.c

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -475,25 +475,22 @@ PHP_METHOD(RedisArray, _instance)
475475
{
476476
zval *object;
477477
RedisArray *ra;
478-
char *target;
479-
size_t target_len;
478+
zend_string *host;
480479
zval *z_redis;
481480

482-
if (zend_parse_method_parameters(ZEND_NUM_ARGS(), getThis(), "Os",
483-
&object, redis_array_ce, &target, &target_len) == FAILURE) {
481+
if (zend_parse_method_parameters(ZEND_NUM_ARGS(), getThis(), "OS",
482+
&object, redis_array_ce, &host) == FAILURE) {
484483
RETURN_FALSE;
485484
}
486485

487486
if ((ra = redis_array_get(object)) == NULL) {
488487
RETURN_FALSE;
489488
}
490489

491-
z_redis = ra_find_node_by_name(ra, target, target_len);
492-
if(z_redis) {
493-
RETURN_ZVAL(z_redis, 1, 0);
494-
} else {
490+
if ((z_redis = ra_find_node_by_name(ra, host)) == NULL) {
495491
RETURN_NULL();
496492
}
493+
RETURN_ZVAL(z_redis, 1, 0);
497494
}
498495

499496
PHP_METHOD(RedisArray, _function)
@@ -1225,12 +1222,11 @@ PHP_METHOD(RedisArray, multi)
12251222
zval *object;
12261223
RedisArray *ra;
12271224
zval *z_redis;
1228-
char *host;
1229-
size_t host_len;
1225+
zend_string *host;
12301226
zend_long multi_value = MULTI;
12311227

1232-
if (zend_parse_method_parameters(ZEND_NUM_ARGS(), getThis(), "Os|l",
1233-
&object, redis_array_ce, &host, &host_len, &multi_value) == FAILURE) {
1228+
if (zend_parse_method_parameters(ZEND_NUM_ARGS(), getThis(), "OS|l",
1229+
&object, redis_array_ce, &host, &multi_value) == FAILURE) {
12341230
RETURN_FALSE;
12351231
}
12361232

@@ -1239,8 +1235,7 @@ PHP_METHOD(RedisArray, multi)
12391235
}
12401236

12411237
/* find node */
1242-
z_redis = ra_find_node_by_name(ra, host, host_len);
1243-
if(!z_redis) {
1238+
if ((z_redis = ra_find_node_by_name(ra, host)) == NULL) {
12441239
RETURN_FALSE;
12451240
}
12461241

redis_array_impl.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -542,11 +542,11 @@ ra_find_node(RedisArray *ra, const char *key, int key_len, int *out_pos)
542542
}
543543

544544
zval *
545-
ra_find_node_by_name(RedisArray *ra, const char *host, int host_len) {
545+
ra_find_node_by_name(RedisArray *ra, zend_string *host) {
546546

547547
int i;
548548
for(i = 0; i < ra->count; ++i) {
549-
if (ZSTR_LEN(ra->hosts[i]) == host_len && strcmp(ZSTR_VAL(ra->hosts[i]), host) == 0) {
549+
if (zend_string_equals(host, ra->hosts[i])) {
550550
return &ra->redis[i];
551551
}
552552
}

redis_array_impl.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ RedisArray *ra_make_array(HashTable *hosts, zval *z_fun, zval *z_dist,
1919
zend_string *algorithm, zend_string *auth,
2020
zend_string *pass);
2121

22-
zval *ra_find_node_by_name(RedisArray *ra, const char *host, int host_len);
22+
zval *ra_find_node_by_name(RedisArray *ra, zend_string *host);
2323
zval *ra_find_node(RedisArray *ra, const char *key, int key_len, int *out_pos);
2424
void ra_init_function_table(RedisArray *ra);
2525

0 commit comments

Comments
 (0)