summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--handle.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/handle.c b/handle.c
index bdf6db0..bfe6e8c 100644
--- a/handle.c
+++ b/handle.c
@@ -1163,10 +1163,18 @@ static void handleReplyNowAway(struct Message *msg) {
}
static bool isAction(struct Message *msg) {
- if (strncmp(msg->params[1], "\1ACTION ", 8)) return false;
- msg->params[1] += 8;
+ if (strncmp(msg->params[1], "\1ACTION", 7)) return false;
+ if (msg->params[1][7] == ' ') {
+ msg->params[1] += 8;
+ } else if (msg->params[1][7] == '\1') {
+ msg->params[1] += 7;
+ } else {
+ return false;
+ }
size_t len = strlen(msg->params[1]);
- if (msg->params[1][len - 1] == '\1') msg->params[1][len - 1] = '\0';
+ if (msg->params[1][len - 1] == '\1') {
+ msg->params[1][len - 1] = '\0';
+ }
return true;
}