| summaryrefslogtreecommitdiff | 
diff options
Diffstat (limited to 'src/io')
| -rw-r--r-- | src/io/network.c | 38 | 
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; | 


