Commit 48d34047 authored by Max Kellermann's avatar Max Kellermann

commands: don't advertise "sticker" unless configured

In the return value of the "commands" command, don't list the "sticker" command if no sticker file is configured.
parent 0e5af7d0
...@@ -1550,6 +1550,17 @@ static const struct command commands[] = { ...@@ -1550,6 +1550,17 @@ static const struct command commands[] = {
static const unsigned num_commands = sizeof(commands) / sizeof(commands[0]); static const unsigned num_commands = sizeof(commands) / sizeof(commands[0]);
static bool
command_available(const struct command *cmd)
{
#ifdef ENABLE_SQLITE
if (strcmp(cmd->cmd, "sticker") == 0)
return sticker_enabled();
#endif
return true;
}
/* don't be fooled, this is the command handler for "commands" command */ /* don't be fooled, this is the command handler for "commands" command */
static enum command_return static enum command_return
handle_commands(struct client *client, handle_commands(struct client *client,
...@@ -1561,7 +1572,8 @@ handle_commands(struct client *client, ...@@ -1561,7 +1572,8 @@ handle_commands(struct client *client,
for (unsigned i = 0; i < num_commands; ++i) { for (unsigned i = 0; i < num_commands; ++i) {
cmd = &commands[i]; cmd = &commands[i];
if (cmd->permission == (permission & cmd->permission)) if (cmd->permission == (permission & cmd->permission) &&
command_available(cmd))
client_printf(client, "command: %s\n", cmd->cmd); client_printf(client, "command: %s\n", cmd->cmd);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment