diff options
author | Itamar Haber <itamar@redislabs.com> | 2017-11-27 17:57:44 +0200 |
---|---|---|
committer | Itamar Haber <itamar@redislabs.com> | 2017-11-28 21:15:45 +0200 |
commit | 59d52f7fabb48c3a6ebaac869ce3d6e5f3dc704f (patch) | |
tree | da2f0adacc6c494f372ecf11f8566d20db79a05f /src/pubsub.c | |
parent | 29252391c4856e500277bcd84ae0f57b8e6ca661 (diff) | |
download | redis-59d52f7fabb48c3a6ebaac869ce3d6e5f3dc704f.tar.gz |
Standardizes the 'help' subcommand
This adds a new `addReplyHelp` helper that's used by commands
when returning a help text. The following commands have been
touched: DEBUG, OBJECT, COMMAND, PUBSUB, SCRIPT and SLOWLOG.
WIP
Fix entry command table entry for OBJECT for HELP option.
After #4472 the command may have just 2 arguments.
Improve OBJECT HELP descriptions.
See #4472.
WIP 2
WIP 3
Diffstat (limited to 'src/pubsub.c')
-rw-r--r-- | src/pubsub.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/pubsub.c b/src/pubsub.c index b6d1167db..8bd6e5d60 100644 --- a/src/pubsub.c +++ b/src/pubsub.c @@ -325,8 +325,16 @@ void publishCommand(client *c) { /* PUBSUB command for Pub/Sub introspection. */ void pubsubCommand(client *c) { - if (!strcasecmp(c->argv[1]->ptr,"channels") && - (c->argc == 2 || c->argc ==3)) + if (c->argc == 2 && !strcasecmp(c->argv[1]->ptr,"help")) { + const char *help[] = { + "channels [<pattern>] -- Return the currently active channels matching a pattern (default: all).", + "numpat -- Return number of subscriptions to patterns.", + "numsub [channel-1 .. channel-N] -- Returns the number of subscribers for the specified channels (excluding patterns, default: none).", + NULL + }; + addReplyHelp(c, help); + } else if (!strcasecmp(c->argv[1]->ptr,"channels") && + (c->argc == 2 || c->argc == 3)) { /* PUBSUB CHANNELS [<pattern>] */ sds pat = (c->argc == 2) ? NULL : c->argv[2]->ptr; @@ -364,8 +372,8 @@ void pubsubCommand(client *c) { /* PUBSUB NUMPAT */ addReplyLongLong(c,listLength(server.pubsub_patterns)); } else { - addReplyErrorFormat(c, - "Unknown PUBSUB subcommand or wrong number of arguments for '%s'", + addReplyErrorFormat(c, "Unknown subcommand or wrong number of arguments for '%s'. Try PUBSUB help", (char*)c->argv[1]->ptr); + return; } } |