]> jfr.im git - irc/rqf/shadowircd.git/commitdiff
Fix +K unintentionally stripping any messages to the channel of color.
authorB.Greenham <redacted>
Sat, 6 Mar 2010 01:59:23 +0000 (20:59 -0500)
committerB.Greenham <redacted>
Sat, 6 Mar 2010 01:59:23 +0000 (20:59 -0500)
modules/core/m_message.c

index 0718e1f575a49ebf89034e2640876bd66381c147..0a78302330de447fd4a2c676ac84bfd357d6fe91 100644 (file)
@@ -500,10 +500,12 @@ msg_channel(int p_or_n, const char *command,
 
        if(chptr->mode.mode & MODE_NOREPEAT)
        {
+               rb_strlcpy(text2, text, BUFSIZE);
+               strip_colour(text2);
                md = channel_metadata_find(chptr, "NOREPEAT");
                if(md && (!ConfigChannel.exempt_cmode_K || !is_any_op(msptr)))
                {
-                       if(!(strcmp(md->value, strip_colour(text))))
+                       if(!(strcmp(md->value, text2)))
                        {
                                if(p_or_n != NOTICE)
                                        sendto_one_numeric(source_p, ERR_CANNOTSENDTOCHAN,
@@ -512,7 +514,7 @@ msg_channel(int p_or_n, const char *command,
                        }
                }
                channel_metadata_delete(chptr, "NOREPEAT", 0);
-               channel_metadata_add(chptr, "NOREPEAT", strip_colour(text), 0);
+               channel_metadata_add(chptr, "NOREPEAT", text2, 0);
        }
 
        if(chptr->mode.mode & MODE_NOCOLOR && (!ConfigChannel.exempt_cmode_c || !is_any_op(msptr)))