Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 7050c98

Browse files
Play around with more ZEND_STRL usage (#2505)
* Play around with more ZEND_STRL usage * strncasecmp is a macro on Windows
1 parent d3b2d87 commit 7050c98

3 files changed

Lines changed: 48 additions & 43 deletions

File tree

library.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3125,7 +3125,7 @@ PHP_REDIS_API int redis_sock_connect(RedisSock *redis_sock)
31253125

31263126
int limit = INI_INT("redis.pconnect.connection_limit");
31273127
if (limit > 0 && p->nb_active >= limit) {
3128-
redis_sock_set_err(redis_sock, "Connection limit reached", sizeof("Connection limit reached") - 1);
3128+
redis_sock_set_err(redis_sock, ZEND_STRL("Connection limit reached"));
31293129
return FAILURE;
31303130
}
31313131

redis.c

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -567,8 +567,8 @@ redis_connect(INTERNAL_FUNCTION_PARAMETERS, int persistent)
567567

568568
/* Does the host look like a unix socket */
569569
af_unix = (host_len > 0 && host[0] == '/') ||
570-
(host_len > 6 && !strncasecmp(host, "unix://", sizeof("unix://") - 1)) ||
571-
(host_len > 6 && !strncasecmp(host, "file://", sizeof("file://") - 1));
570+
(host_len > 6 && (!strncasecmp(host, "unix://", sizeof("unix://") - 1) ||
571+
!strncasecmp(host, "file://", sizeof("file://") - 1)));
572572

573573
/* If it's not a unix socket, set to default */
574574
if (port == -1 && !af_unix) {
@@ -1258,18 +1258,18 @@ generic_sort_cmd(INTERNAL_FUNCTION_PARAMETERS, int desc, int alpha)
12581258
}
12591259

12601260
/* Start constructing final command and append key */
1261-
redis_cmd_init_sstr(&cmd, argc, "SORT", 4);
1261+
redis_cmd_init_sstr(&cmd, argc, ZEND_STRL("SORT"));
12621262
redis_cmd_append_sstr_key(&cmd, key, keylen, redis_sock, NULL);
12631263

12641264
/* BY pattern */
12651265
if (pattern && patternlen) {
1266-
redis_cmd_append_sstr(&cmd, "BY", sizeof("BY") - 1);
1266+
redis_cmd_append_sstr(&cmd, ZEND_STRL("BY"));
12671267
redis_cmd_append_sstr(&cmd, pattern, patternlen);
12681268
}
12691269

12701270
/* LIMIT offset count */
12711271
if (offset >= 0 && count >= 0) {
1272-
redis_cmd_append_sstr(&cmd, "LIMIT", sizeof("LIMIT") - 1);
1272+
redis_cmd_append_sstr(&cmd, ZEND_STRL("LIMIT"));
12731273
redis_cmd_append_sstr_long(&cmd, offset);
12741274
redis_cmd_append_sstr_long(&cmd, count);
12751275
}
@@ -1279,25 +1279,25 @@ generic_sort_cmd(INTERNAL_FUNCTION_PARAMETERS, int desc, int alpha)
12791279
if (Z_TYPE_P(zget) == IS_ARRAY) {
12801280
ZEND_HASH_FOREACH_VAL(Z_ARRVAL_P(zget), zele) {
12811281
zpattern = zval_get_string(zele);
1282-
redis_cmd_append_sstr(&cmd, "GET", sizeof("GET") - 1);
1282+
redis_cmd_append_sstr(&cmd, ZEND_STRL("GET"));
12831283
redis_cmd_append_sstr(&cmd, ZSTR_VAL(zpattern), ZSTR_LEN(zpattern));
12841284
zend_string_release(zpattern);
12851285
} ZEND_HASH_FOREACH_END();
12861286
} else {
12871287
zpattern = zval_get_string(zget);
1288-
redis_cmd_append_sstr(&cmd, "GET", sizeof("GET") - 1);
1288+
redis_cmd_append_sstr(&cmd, ZEND_STRL("GET"));
12891289
redis_cmd_append_sstr(&cmd, ZSTR_VAL(zpattern), ZSTR_LEN(zpattern));
12901290
zend_string_release(zpattern);
12911291
}
12921292
}
12931293

12941294
/* Append optional DESC and ALPHA modifiers */
1295-
if (desc) redis_cmd_append_sstr(&cmd, "DESC", sizeof("DESC") - 1);
1296-
if (alpha) redis_cmd_append_sstr(&cmd, "ALPHA", sizeof("ALPHA") - 1);
1295+
if (desc) redis_cmd_append_sstr(&cmd, ZEND_STRL("DESC"));
1296+
if (alpha) redis_cmd_append_sstr(&cmd, ZEND_STRL("ALPHA"));
12971297

12981298
/* Finally append STORE if we've got it */
12991299
if (store && storelen) {
1300-
redis_cmd_append_sstr(&cmd, "STORE", sizeof("STORE") - 1);
1300+
redis_cmd_append_sstr(&cmd, ZEND_STRL("STORE"));
13011301
redis_cmd_append_sstr_key(&cmd, store, storelen, redis_sock, NULL);
13021302
}
13031303

redis_array_impl.c

Lines changed: 37 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -90,38 +90,43 @@ ra_init_function_table(RedisArray *ra)
9090
ALLOC_HASHTABLE(ra->pure_cmds);
9191
zend_hash_init(ra->pure_cmds, 0, NULL, NULL, 0);
9292

93-
zend_hash_str_update_ptr(ra->pure_cmds, "EXISTS", sizeof("EXISTS") - 1, NULL);
94-
zend_hash_str_update_ptr(ra->pure_cmds, "GET", sizeof("GET") - 1, NULL);
95-
zend_hash_str_update_ptr(ra->pure_cmds, "GETBIT", sizeof("GETBIT") - 1, NULL);
96-
zend_hash_str_update_ptr(ra->pure_cmds, "GETRANGE", sizeof("GETRANGE") - 1, NULL);
97-
zend_hash_str_update_ptr(ra->pure_cmds, "HEXISTS", sizeof("HEXISTS") - 1, NULL);
98-
zend_hash_str_update_ptr(ra->pure_cmds, "HGET", sizeof("HGET") - 1, NULL);
99-
zend_hash_str_update_ptr(ra->pure_cmds, "HGETALL", sizeof("HGETALL") - 1, NULL);
100-
zend_hash_str_update_ptr(ra->pure_cmds, "HKEYS", sizeof("HKEYS") - 1, NULL);
101-
zend_hash_str_update_ptr(ra->pure_cmds, "HLEN", sizeof("HLEN") - 1, NULL);
102-
zend_hash_str_update_ptr(ra->pure_cmds, "HMGET", sizeof("HMGET") - 1, NULL);
103-
zend_hash_str_update_ptr(ra->pure_cmds, "HVALS", sizeof("HVALS") - 1, NULL);
104-
zend_hash_str_update_ptr(ra->pure_cmds, "LINDEX", sizeof("LINDEX") - 1, NULL);
105-
zend_hash_str_update_ptr(ra->pure_cmds, "LLEN", sizeof("LLEN") - 1, NULL);
106-
zend_hash_str_update_ptr(ra->pure_cmds, "LRANGE", sizeof("LRANGE") - 1, NULL);
107-
zend_hash_str_update_ptr(ra->pure_cmds, "OBJECT", sizeof("OBJECT") - 1, NULL);
108-
zend_hash_str_update_ptr(ra->pure_cmds, "SCARD", sizeof("SCARD") - 1, NULL);
109-
zend_hash_str_update_ptr(ra->pure_cmds, "SDIFF", sizeof("SDIFF") - 1, NULL);
110-
zend_hash_str_update_ptr(ra->pure_cmds, "SINTER", sizeof("SINTER") - 1, NULL);
111-
zend_hash_str_update_ptr(ra->pure_cmds, "SISMEMBER", sizeof("SISMEMBER") - 1, NULL);
112-
zend_hash_str_update_ptr(ra->pure_cmds, "SMEMBERS", sizeof("SMEMBERS") - 1, NULL);
113-
zend_hash_str_update_ptr(ra->pure_cmds, "SRANDMEMBER", sizeof("SRANDMEMBER") - 1, NULL);
114-
zend_hash_str_update_ptr(ra->pure_cmds, "STRLEN", sizeof("STRLEN") - 1, NULL);
115-
zend_hash_str_update_ptr(ra->pure_cmds, "SUNION", sizeof("SUNION") - 1, NULL);
116-
zend_hash_str_update_ptr(ra->pure_cmds, "TYPE", sizeof("TYPE") - 1, NULL);
117-
zend_hash_str_update_ptr(ra->pure_cmds, "ZCARD", sizeof("ZCARD") - 1, NULL);
118-
zend_hash_str_update_ptr(ra->pure_cmds, "ZCOUNT", sizeof("ZCOUNT") - 1, NULL);
119-
zend_hash_str_update_ptr(ra->pure_cmds, "ZRANGE", sizeof("ZRANGE") - 1, NULL);
120-
zend_hash_str_update_ptr(ra->pure_cmds, "ZRANK", sizeof("ZRANK") - 1, NULL);
121-
zend_hash_str_update_ptr(ra->pure_cmds, "ZREVRANGE", sizeof("ZREVRANGE") - 1, NULL);
122-
zend_hash_str_update_ptr(ra->pure_cmds, "ZREVRANGEBYSCORE", sizeof("ZREVRANGEBYSCORE") - 1, NULL);
123-
zend_hash_str_update_ptr(ra->pure_cmds, "ZREVRANK", sizeof("ZREVRANK") - 1, NULL);
124-
zend_hash_str_update_ptr(ra->pure_cmds, "ZSCORE", sizeof("ZSCORE") - 1, NULL);
93+
#define ra_add_pure_cmd(cmd) \
94+
zend_hash_str_update_ptr(ra->pure_cmds, cmd, sizeof(cmd) - 1, NULL);
95+
96+
ra_add_pure_cmd("EXISTS");
97+
ra_add_pure_cmd("GET");
98+
ra_add_pure_cmd("GETBIT");
99+
ra_add_pure_cmd("GETRANGE");
100+
ra_add_pure_cmd("HEXISTS");
101+
ra_add_pure_cmd("HGET");
102+
ra_add_pure_cmd("HGETALL");
103+
ra_add_pure_cmd("HKEYS");
104+
ra_add_pure_cmd("HLEN");
105+
ra_add_pure_cmd("HMGET");
106+
ra_add_pure_cmd("HVALS");
107+
ra_add_pure_cmd("LINDEX");
108+
ra_add_pure_cmd("LLEN");
109+
ra_add_pure_cmd("LRANGE");
110+
ra_add_pure_cmd("OBJECT");
111+
ra_add_pure_cmd("SCARD");
112+
ra_add_pure_cmd("SDIFF");
113+
ra_add_pure_cmd("SINTER");
114+
ra_add_pure_cmd("SISMEMBER");
115+
ra_add_pure_cmd("SMEMBERS");
116+
ra_add_pure_cmd("SRANDMEMBER");
117+
ra_add_pure_cmd("STRLEN");
118+
ra_add_pure_cmd("SUNION");
119+
ra_add_pure_cmd("TYPE");
120+
ra_add_pure_cmd("ZCARD");
121+
ra_add_pure_cmd("ZCOUNT");
122+
ra_add_pure_cmd("ZRANGE");
123+
ra_add_pure_cmd("ZRANK");
124+
ra_add_pure_cmd("ZREVRANGE");
125+
ra_add_pure_cmd("ZREVRANGEBYSCORE");
126+
ra_add_pure_cmd("ZREVRANK");
127+
ra_add_pure_cmd("ZSCORE");
128+
129+
#undef ra_add_pure_cmd
125130
}
126131

127132
static int

0 commit comments

Comments
 (0)