summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/io/network.c')
-rw-r--r--src/io/network.c38
1 files changed, 30 insertions, 8 deletions
diff --git a/src/io/network.c b/src/io/network.c
index 0c9cf33..edafd4f 100644
--- a/src/io/network.c
+++ b/src/io/network.c
@@ -500,14 +500,36 @@ int ZoO_network_send (struct ZoO_network net [const restrict static 1])
{
int const old_errno = errno;
- snprintf
- (
- net->in,
- 512,
- "PRIVMSG %s :%s\r\n",
- net->channel,
- net->out
- );
+ if (ZoO_IS_PREFIX("\001action", net->out))
+ {
+
+ net->out[1] = 'A';
+ net->out[2] = 'C';
+ net->out[3] = 'T';
+ net->out[4] = 'I';
+ net->out[5] = 'O';
+ net->out[6] = 'N';
+
+ snprintf
+ (
+ net->in,
+ 512,
+ "PRIVMSG %s :%s\001\r\n",
+ net->channel,
+ net->out
+ );
+ }
+ else
+ {
+ snprintf
+ (
+ net->in,
+ 512,
+ "PRIVMSG %s :%s\r\n",
+ net->channel,
+ net->out
+ );
+ }
errno = 0;