Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/phpredis/phpredis.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormichael-grunder <michael.grunder@gmail.com>2019-05-29 19:42:29 +0300
committerMichael Grunder <michael.grunder@gmail.com>2019-06-03 17:53:21 +0300
commit6e4941706835d32bfce6b2843f791ef9720b7b88 (patch)
tree574bb6a1089bafdf38d034c366053176266b3474 /redis_commands.c
parent19f3efcfe6e1a32451a543fa186a8f38d250d941 (diff)
Allow PING to take an optional argument.
Addresses #1563
Diffstat (limited to 'redis_commands.c')
-rw-r--r--redis_commands.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/redis_commands.c b/redis_commands.c
index 7466ca0a..b74092ed 100644
--- a/redis_commands.c
+++ b/redis_commands.c
@@ -168,6 +168,26 @@ redis_build_script_cmd(smart_string *cmd, int argc, zval *z_args)
return cmd;
}
+/* Command that takes one optional string */
+int redis_opt_str_cmd(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, char *kw,
+ char **cmd, int *cmd_len, short *slot, void **ctx)
+{
+ char *arg = NULL;
+ size_t arglen;
+
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|s!", &arg, &arglen) == FAILURE) {
+ return FAILURE;
+ }
+
+ if (arg != NULL) {
+ *cmd_len = REDIS_CMD_SPPRINTF(cmd, kw, "s", arg, arglen);
+ } else {
+ *cmd_len = REDIS_CMD_SPPRINTF(cmd, kw, "");
+ }
+
+ return SUCCESS;
+}
+
/* Generic command where we just take a string and do nothing to it*/
int redis_str_cmd(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, char *kw,
char **cmd, int *cmd_len, short *slot, void **ctx)