From 04513cff6c7cbce2f2f58ce93c22f87398c91165 Mon Sep 17 00:00:00 2001 From: jilles Date: Wed, 28 Mar 2007 06:49:57 -0700 Subject: [PATCH] [svn] Remove channels entirely from /whois on services. This cannot be overridden with operspy. --- ChangeLog | 9 +++++++++ include/serno.h | 2 +- modules/m_whois.c | 45 ++++++++++++++++++++++++--------------------- 3 files changed, 34 insertions(+), 22 deletions(-) diff --git a/ChangeLog b/ChangeLog index c0522e7..d02b7ce 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +jilles 2007/03/28 13:11:30 UTC (20070328-3283) + Log: + Fix /who on channels with ** in their name. + + + Changes: Modified: + +2 -2 trunk/modules/m_who.c (File Modified) + + jilles 2007/03/25 17:59:50 UTC (20070325-3281) Log: NEWS: As in 2.1.3, mention that the TS6 revision will diff --git a/include/serno.h b/include/serno.h index 06231a4..31e4cd5 100644 --- a/include/serno.h +++ b/include/serno.h @@ -1 +1 @@ -#define SERNO "20070325-3281" +#define SERNO "20070328-3283" diff --git a/modules/m_whois.c b/modules/m_whois.c index ef60a55..c139c29 100644 --- a/modules/m_whois.c +++ b/modules/m_whois.c @@ -21,7 +21,7 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * USA * - * $Id: m_whois.c 1879 2006-08-27 21:18:43Z jilles $ + * $Id: m_whois.c 3287 2007-03-28 13:49:57Z jilles $ */ #include "stdinc.h" @@ -67,7 +67,7 @@ mapi_hlist_av1 whois_hlist[] = { { NULL, NULL } }; -DECLARE_MODULE_AV1(whois, NULL, NULL, whois_clist, whois_hlist, NULL, "$Revision: 1879 $"); +DECLARE_MODULE_AV1(whois, NULL, NULL, whois_clist, whois_hlist, NULL, "$Revision: 3287 $"); /* * m_whois @@ -280,28 +280,31 @@ single_whois(struct Client *source_p, struct Client *target_p, int operspy) t = buf + mlen; - DLINK_FOREACH(ptr, target_p->user->channel.head) + if (!IsService(target_p)) { - msptr = ptr->data; - chptr = msptr->chptr; - - visible = IsService(target_p) ? IsMember(source_p, chptr) : ShowChannel(source_p, chptr); - - if(visible || operspy) + DLINK_FOREACH(ptr, target_p->user->channel.head) { - if((cur_len + strlen(chptr->chname) + 3) > (BUFSIZE - 5)) - { - sendto_one(source_p, "%s", buf); - cur_len = mlen + extra_space; - t = buf + mlen; - } + msptr = ptr->data; + chptr = msptr->chptr; - tlen = ircsprintf(t, "%s%s%s ", - visible ? "" : "!", - find_channel_status(msptr, 1), - chptr->chname); - t += tlen; - cur_len += tlen; + visible = ShowChannel(source_p, chptr); + + if(visible || operspy) + { + if((cur_len + strlen(chptr->chname) + 3) > (BUFSIZE - 5)) + { + sendto_one(source_p, "%s", buf); + cur_len = mlen + extra_space; + t = buf + mlen; + } + + tlen = ircsprintf(t, "%s%s%s ", + visible ? "" : "!", + find_channel_status(msptr, 1), + chptr->chname); + t += tlen; + cur_len += tlen; + } } }