From a38738c93885fc177a42b280a328471424fc030a Mon Sep 17 00:00:00 2001 From: Curtis McEnroe Date: Thu, 16 Aug 2018 22:19:23 -0400 Subject: Don't treat input as command if word contains extra slash --- input.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'input.c') diff --git a/input.c b/input.c index 2d9bc46..997c570 100644 --- a/input.c +++ b/input.c @@ -155,7 +155,14 @@ static const struct { static const size_t COMMANDS_LEN = sizeof(COMMANDS) / sizeof(COMMANDS[0]); void input(struct Tag tag, char *input) { - if (input[0] != '/') { + bool slash = (input[0] == '/'); + if (slash) { + char *space = strchr(&input[1], ' '); + char *extra = strchr(&input[1], '/'); + if (extra && (!space || extra < space)) slash = false; + } + + if (!slash) { if (tag.id == TAG_VERBOSE.id) { ircFmt("%s\r\n", input); } else if (tag.id != TAG_STATUS.id) { @@ -163,6 +170,7 @@ void input(struct Tag tag, char *input) { } return; } + char *command = strsep(&input, " "); if (input && !input[0]) input = NULL; for (size_t i = 0; i < COMMANDS_LEN; ++i) { -- cgit 1.4.1