Added /me action message
diff --git a/contiki/apps/ircc.c b/contiki/apps/ircc.c
index 604bbff..c53d8c6 100644
--- a/contiki/apps/ircc.c
+++ b/contiki/apps/ircc.c
@@ -23,6 +23,7 @@
COMMAND_JOIN,
COMMAND_PART,
COMMAND_MSG,
+ COMMAND_ACTIONMSG,
COMMAND_LIST,
COMMAND_QUIT
};
@@ -134,6 +135,29 @@
SOCKET_END(&s->s);
}
/*---------------------------------------------------------------------------*/
+static
+PT_THREAD(send_actionmessage(struct ircc_state *s))
+{
+ char *ptr;
+
+ SOCKET_BEGIN(&s->s);
+
+ ptr = s->outputbuf;
+ ptr = copystr(ptr, ircc_privmsg, sizeof(s->outputbuf));
+ ptr = copystr(ptr, s->channel, sizeof(s->outputbuf) - (ptr - s->outputbuf));
+ ptr = copystr(ptr, ircc_colon, sizeof(s->outputbuf) - (ptr - s->outputbuf));
+ ptr = copystr(ptr, ircc_action, sizeof(s->outputbuf) - (ptr - s->outputbuf));
+ ptr = copystr(ptr, s->msg, sizeof(s->outputbuf) - (ptr - s->outputbuf));
+ ptr = copystr(ptr, ircc_actioncrnl, sizeof(s->outputbuf) - (ptr - s->outputbuf));
+
+
+ SEND_STRING(&s->s, s->outputbuf);
+
+ ircc_sent(s);
+
+ SOCKET_END(&s->s);
+}
+/*---------------------------------------------------------------------------*/
struct parse_result {
char *msg;
@@ -342,6 +366,10 @@
s->command = COMMAND_NONE;
PT_WAIT_THREAD(&s->pt, send_message(s));
break;
+ case COMMAND_ACTIONMSG:
+ s->command = COMMAND_NONE;
+ PT_WAIT_THREAD(&s->pt, send_actionmessage(s));
+ break;
case COMMAND_LIST:
s->command = COMMAND_NONE;
PT_WAIT_THREAD(&s->pt, list_channel(s));
@@ -386,6 +414,7 @@
if(s->conn == NULL) {
return NULL;
}
+ uip_set_mss(s->conn, 120);
s->server = servername;
s->nick = nick;
return s;
@@ -423,3 +452,10 @@
s->command = COMMAND_MSG;
}
/*---------------------------------------------------------------------------*/
+void
+ircc_actionmsg(struct ircc_state *s, char *msg)
+{
+ s->msg = msg;
+ s->command = COMMAND_ACTIONMSG;
+}
+/*---------------------------------------------------------------------------*/