X-Git-Url: http://git.pk910.de/?a=blobdiff_plain;f=ircd%2Fm_wallvoices.c;h=a0dcd0e65d8feb2fd5379f54acffbb719d1fac41;hb=refs%2Fheads%2Fupstream;hp=a92267478b91e865d50042f30e98ba023a620096;hpb=68344659492f852c34150dc9346006e05b66a90b;p=ircu2.10.12-pk.git diff --git a/ircd/m_wallvoices.c b/ircd/m_wallvoices.c index a922674..a0dcd0e 100644 --- a/ircd/m_wallvoices.c +++ b/ircd/m_wallvoices.c @@ -84,6 +84,7 @@ #include "client.h" #include "hash.h" #include "ircd.h" +#include "ircd_log.h" #include "ircd_reply.h" #include "ircd_string.h" #include "msg.h" @@ -92,7 +93,7 @@ #include "s_user.h" #include "send.h" -#include +/* #include -- Now using assert in ircd_log.h */ /* * m_wallvoices - local generic message handler @@ -117,6 +118,7 @@ int m_wallvoices(struct Client* cptr, struct Client* sptr, int parc, char* parv[ if ((chptr->mode.mode & MODE_NOPRIVMSGS) && check_target_limit(sptr, chptr, chptr->chname, 0)) return 0; + RevealDelayedJoinIfNeeded(sptr, chptr); sendcmdto_channel_butone(sptr, CMD_WALLVOICES, chptr, cptr, SKIP_DEAF | SKIP_BURST | SKIP_NONVOICES, "%H :+ %s", chptr, parv[parc - 1]); @@ -142,8 +144,8 @@ int ms_wallvoices(struct Client* cptr, struct Client* sptr, int parc, char* parv if (parc < 3 || !IsUser(sptr)) return 0; - if ((chptr = FindChannel(parv[1]))) { - if (client_can_send_to_channel(sptr, chptr, 0)) { + if (!IsLocalChannel(parv[1]) && (chptr = FindChannel(parv[1]))) { + if (client_can_send_to_channel(sptr, chptr, 1)) { sendcmdto_channel_butone(sptr, CMD_WALLVOICES, chptr, cptr, SKIP_DEAF | SKIP_BURST | SKIP_NONVOICES, "%H :%s", chptr, parv[parc - 1]);