diff options
author | June McEnroe <june@causal.agency> | 2022-02-26 15:40:11 -0500 |
---|---|---|
committer | June McEnroe <june@causal.agency> | 2022-02-26 15:40:11 -0500 |
commit | 628e064056a02cbc3fb3b758df51559d62c37a10 (patch) | |
tree | a10fc7055d9f51f873da5f054494c6e9dfd3412f | |
parent | Give examples of "general events" (diff) | |
download | catgirl-628e064056a02cbc3fb3b758df51559d62c37a10.tar.gz catgirl-628e064056a02cbc3fb3b758df51559d62c37a10.zip |
Factor out commandAvailable
-rw-r--r-- | command.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/command.c b/command.c index a127af3..511bc62 100644 --- a/command.c +++ b/command.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2020 C. McEnroe <june@causal.agency> +/* Copyright (C) 2020 June McEnroe <june@causal.agency> * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -639,6 +639,12 @@ size_t commandWillSplit(uint id, const char *input) { return 0; } +static bool commandAvailable(const struct Handler *handler) { + if (handler->flags & Restrict && self.restricted) return false; + if (handler->flags & Kiosk && self.kiosk) return false; + return true; +} + void command(uint id, char *input) { if (id == Debug && input[0] != '/' && !self.restricted) { commandQuote(id, input); @@ -667,10 +673,7 @@ void command(uint id, char *input) { uiFormat(id, Warm, NULL, "No such command %s", cmd); return; } - if ( - (self.restricted && handler->flags & Restrict) || - (self.kiosk && handler->flags & Kiosk) - ) { + if (!commandAvailable(handler)) { uiFormat(id, Warm, NULL, "Command %s is unavailable", cmd); return; } |