diff options
Diffstat (limited to 'src/Handler.cpp')
-rw-r--r-- | src/Handler.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/Handler.cpp b/src/Handler.cpp index 9f8bc4f..9cb1698 100644 --- a/src/Handler.cpp +++ b/src/Handler.cpp @@ -10,7 +10,10 @@ std::vector<std::string> Handler::tokenizeArguments(const std::string &arguments start = end + delimiter.length(); end = arguments.find(delimiter, start); } - tokens.emplace_back(arguments.substr(start, end)); + + // only add if there is anything to add + if (!arguments.substr(start, end).empty()) + tokens.emplace_back(arguments.substr(start, end)); return tokens; } @@ -19,9 +22,13 @@ Handler::json Handler::CommandHandler::exec(const std::string &arguments, const return func(arguments, session, payload); } +#pragma clang diagnostic push +#pragma ide diagnostic ignored "modernize-pass-by-value" +#pragma ide diagnostic ignored "performance-unnecessary-value-param" Handler::CommandHandler::CommandHandler(std::string command, Handler::handler_function func, description_function desc, void *payload) : command{std::move(command)}, func{func}, get_description{desc}, payload{payload} {} +#pragma clang diagnostic pop Handler::CommandHandler::CommandHandler(Handler::CommandHandler &&o) noexcept { command = o.command; |