Skip to content

Commit 0eaeae0

Browse files
Replace redis_cmd_format_static with redis_spprintf
1 parent 5d35acd commit 0eaeae0

File tree

4 files changed

+29
-33
lines changed

4 files changed

+29
-33
lines changed

library.c

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,8 @@ static int reselect_db(RedisSock *redis_sock TSRMLS_DC) {
5454
char *cmd, *response;
5555
int cmd_len, response_len;
5656

57-
cmd_len = redis_cmd_format_static(&cmd, "SELECT", "d", redis_sock->dbNumber);
57+
cmd_len = redis_spprintf(redis_sock, NULL TSRMLS_CC, &cmd, "SELECT", "d",
58+
redis_sock->dbNumber);
5859

5960
if (redis_sock_write(redis_sock, cmd, cmd_len TSRMLS_CC) < 0) {
6061
efree(cmd);
@@ -81,8 +82,8 @@ static int resend_auth(RedisSock *redis_sock TSRMLS_DC) {
8182
char *cmd, *response;
8283
int cmd_len, response_len;
8384

84-
cmd_len = redis_cmd_format_static(&cmd, "AUTH", "s", redis_sock->auth,
85-
strlen(redis_sock->auth));
85+
cmd_len = redis_spprintf(redis_sock, NULL TSRMLS_CC, &cmd, "AUTH", "s",
86+
redis_sock->auth, strlen(redis_sock->auth));
8687

8788
if (redis_sock_write(redis_sock, cmd, cmd_len TSRMLS_CC) < 0) {
8889
efree(cmd);
@@ -1623,7 +1624,7 @@ PHP_REDIS_API void redis_send_discard(INTERNAL_FUNCTION_PARAMETERS,
16231624
int response_len, cmd_len;
16241625
char * response;
16251626

1626-
cmd_len = redis_cmd_format_static(&cmd, "DISCARD", "");
1627+
cmd_len = redis_spprintf(redis_sock, NULL TSRMLS_CC, &cmd, "DISCARD", "");
16271628

16281629
SOCKET_WRITE_COMMAND(redis_sock, cmd, cmd_len)
16291630
efree(cmd);

library.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
#define REDIS_LIBRARY_H
33

44
#define REDIS_SPPRINTF(ret, kw, fmt, ...) \
5-
redis_spprintf(redis_sock, slot TSRMLS_CC, ret, kw, fmt, __VA_ARGS__)
5+
redis_spprintf(redis_sock, slot TSRMLS_CC, ret, kw, fmt, ##__VA_ARGS__)
66

77
#define REDIS_CMD_APPEND_SSTR_STATIC(sstr, str) \
88
redis_cmd_append_sstr(sstr, str, sizeof(str)-1);

redis_cluster.c

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1044,7 +1044,7 @@ PHP_METHOD(RedisCluster, keys) {
10441044
char *pat, *cmd;
10451045
clusterReply *resp;
10461046
zval zv, *z_ret = &zv;
1047-
int i, pat_free, cmd_len;
1047+
int i, cmd_len;
10481048

10491049
if(zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &pat, &pat_len)
10501050
==FAILURE)
@@ -1053,9 +1053,7 @@ PHP_METHOD(RedisCluster, keys) {
10531053
}
10541054

10551055
/* Prefix and then build our command */
1056-
pat_free = redis_key_prefix(c->flags, &pat, &pat_len);
1057-
cmd_len = redis_cmd_format_static(&cmd, "KEYS", "s", pat, pat_len);
1058-
if(pat_free) efree(pat);
1056+
cmd_len = redis_spprintf(c->flags, NULL TSRMLS_CC, &cmd, "KEYS", "k", pat, pat_len);
10591057

10601058
array_init(z_ret);
10611059

@@ -2297,7 +2295,7 @@ cluster_empty_node_cmd(INTERNAL_FUNCTION_PARAMETERS, char *kw,
22972295
}
22982296

22992297
// Construct our command
2300-
cmd_len = redis_cmd_format_static(&cmd, kw, "");
2298+
cmd_len = redis_spprintf(NULL, NULL TSRMLS_CC, &cmd, kw, "");
23012299

23022300
// Kick off our command
23032301
if(cluster_send_slot(c, slot, cmd, cmd_len, reply_type TSRMLS_CC)<0) {
@@ -2652,14 +2650,14 @@ PHP_METHOD(RedisCluster, info) {
26522650
c->readonly = 0;
26532651

26542652
slot = cluster_cmd_get_slot(c, z_arg TSRMLS_CC);
2655-
if(slot<0) {
2653+
if (slot < 0) {
26562654
RETURN_FALSE;
26572655
}
26582656

2659-
if(opt != NULL) {
2660-
cmd_len = redis_cmd_format_static(&cmd, "INFO", "s", opt, opt_len);
2657+
if (opt != NULL) {
2658+
cmd_len = redis_spprintf(NULL, NULL TSRMLS_CC, &cmd, "INFO", "s", opt, opt_len);
26612659
} else {
2662-
cmd_len = redis_cmd_format_static(&cmd, "INFO", "");
2660+
cmd_len = redis_spprintf(NULL, NULL TSRMLS_CC, &cmd, "INFO", "");
26632661
}
26642662

26652663
rtype = CLUSTER_IS_ATOMIC(c) ? TYPE_BULK : TYPE_LINE;
@@ -2726,10 +2724,11 @@ PHP_METHOD(RedisCluster, client) {
27262724

27272725
/* Construct the command */
27282726
if (ZEND_NUM_ARGS() == 3) {
2729-
cmd_len = redis_cmd_format_static(&cmd, "CLIENT", "ss", opt, opt_len,
2730-
arg, arg_len);
2727+
cmd_len = redis_spprintf(NULL, NULL TSRMLS_CC, &cmd, "CLIENT", "ss",
2728+
opt, opt_len, arg, arg_len);
27312729
} else if(ZEND_NUM_ARGS() == 2) {
2732-
cmd_len = redis_cmd_format_static(&cmd, "CLIENT", "s", opt, opt_len);
2730+
cmd_len = redis_spprintf(NULL, NULL TSRMLS_CC, &cmd, "CLIENT", "s",
2731+
opt, opt_len);
27332732
} else {
27342733
zend_wrong_param_count(TSRMLS_C);
27352734
RETURN_FALSE;
@@ -2883,7 +2882,7 @@ PHP_METHOD(RedisCluster, echo) {
28832882
}
28842883

28852884
/* Construct our command */
2886-
cmd_len = redis_cmd_format_static(&cmd, "ECHO", "s", msg, msg_len);
2885+
cmd_len = redis_spprintf(NULL, NULL TSRMLS_CC, &cmd, "ECHO", "s", msg, msg_len);
28872886

28882887
/* Send it off */
28892888
rtype = CLUSTER_IS_ATOMIC(c) ? TYPE_BULK : TYPE_LINE;

redis_commands.c

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ int redis_empty_cmd(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock,
3434
char *kw, char **cmd, int *cmd_len, short *slot,
3535
void **ctx)
3636
{
37-
*cmd_len = redis_cmd_format_static(cmd, kw, "");
37+
*cmd_len = REDIS_SPPRINTF(cmd, kw, "");
3838
return SUCCESS;
3939
}
4040

@@ -98,7 +98,7 @@ int redis_str_cmd(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, char *kw,
9898
}
9999

100100
// Build the command without molesting the string
101-
*cmd_len = redis_cmd_format_static(cmd, kw, "s", arg, arg_len);
101+
*cmd_len = REDIS_SPPRINTF(cmd, kw, "s", arg, arg_len);
102102

103103
return SUCCESS;
104104
}
@@ -1842,7 +1842,7 @@ int redis_auth_cmd(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock,
18421842
}
18431843

18441844
// Construct our AUTH command
1845-
*cmd_len = redis_cmd_format_static(cmd, "AUTH", "s", pw, pw_len);
1845+
*cmd_len = REDIS_SPPRINTF(cmd, "AUTH", "s", pw, pw_len);
18461846

18471847
// Free previously allocated password, and update
18481848
if(redis_sock->auth) efree(redis_sock->auth);
@@ -2079,18 +2079,13 @@ int redis_sort_cmd(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock,
20792079
// Default that we're not using store
20802080
*using_store = 0;
20812081

2082-
// Handle key prefixing
2083-
key_free = redis_key_prefix(redis_sock, &key, &key_len);
2084-
20852082
// If we don't have an options array, the command is quite simple
2086-
if(!z_opts || zend_hash_num_elements(Z_ARRVAL_P(z_opts)) == 0) {
2083+
if (!z_opts || zend_hash_num_elements(Z_ARRVAL_P(z_opts)) == 0) {
20872084
// Construct command
2088-
*cmd_len = redis_cmd_format_static(cmd, "SORT", "s", key, key_len);
2085+
*cmd_len = REDIS_SPPRINTF(cmd, "SORT", "k", key, key_len);
20892086

2090-
// Push out slot, store flag, and clean up
2087+
/* Not storing */
20912088
*using_store = 0;
2092-
CMD_SET_SLOT(slot,key,key_len);
2093-
if(key_free) efree(key);
20942089

20952090
return SUCCESS;
20962091
}
@@ -2099,6 +2094,7 @@ int redis_sort_cmd(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock,
20992094
array_init(&z_argv);
21002095

21012096
// SORT <key>
2097+
key_free = redis_key_prefix(redis_sock, &key, &key_len);
21022098
add_next_index_stringl(&z_argv, key, key_len);
21032099
if (key_free) efree(key);
21042100

@@ -2877,23 +2873,23 @@ int redis_command_cmd(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock,
28772873

28782874
/* Construct our command */
28792875
if(!kw) {
2880-
*cmd_len = redis_cmd_format_static(cmd, "COMMAND", "");
2876+
*cmd_len = REDIS_SPPRINTF(cmd, "COMMAND", "");
28812877
} else if (!z_arg) {
28822878
/* Sanity check */
28832879
if (strncasecmp(kw, "count", sizeof("count") - 1)) {
28842880
return FAILURE;
28852881
}
28862882
/* COMMAND COUNT */
2887-
*cmd_len = redis_cmd_format_static(cmd, "COMMAND", "s", "COUNT", sizeof("COUNT") - 1);
2883+
*cmd_len = REDIS_SPPRINTF(cmd, "COMMAND", "s", "COUNT", sizeof("COUNT") - 1);
28882884
} else if (Z_TYPE_P(z_arg) == IS_STRING) {
28892885
/* Sanity check */
28902886
if (strncasecmp(kw, "info", sizeof("info") - 1)) {
28912887
return FAILURE;
28922888
}
28932889

28942890
/* COMMAND INFO <cmd> */
2895-
*cmd_len = redis_cmd_format_static(cmd, "COMMAND", "ss", "INFO",
2896-
sizeof("INFO")-1, Z_STRVAL_P(z_arg), Z_STRLEN_P(z_arg));
2891+
*cmd_len = REDIS_SPPRINTF(cmd, "COMMAND", "ss", "INFO", sizeof("INFO") - 1,
2892+
Z_STRVAL_P(z_arg), Z_STRLEN_P(z_arg));
28972893
} else {
28982894
int arr_len;
28992895

0 commit comments

Comments
 (0)