* 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 3536 2007-07-14 21:50:21Z jilles $
*/
#include "stdinc.h"
{ 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: 3536 $");
/*
* m_whois
sendto_one(source_p, form_str(RPL_LOAD2HI),
me.name, source_p->name, "WHOIS");
sendto_one_numeric(source_p, RPL_ENDOFWHOIS,
- form_str(RPL_ENDOFWHOIS), parv[1]);
+ form_str(RPL_ENDOFWHOIS), parv[2]);
return 0;
}
else
snprintf(buffer, sizeof(buffer), "%s!%s@%s %s",
target_p->name, target_p->username,
- target_p->host, target_p->user->server);
+ target_p->host, target_p->servptr->name);
report_operspy(source_p, "WHOIS", buffer);
}
else
sendto_one_numeric(source_p, ERR_NOSUCHNICK,
form_str(ERR_NOSUCHNICK),
- IsDigit(*nick) ? "*" : nick);
+ nick);
sendto_one_numeric(source_p, RPL_ENDOFWHOIS,
form_str(RPL_ENDOFWHOIS), parv[1]);
t = buf + mlen;
- DLINK_FOREACH(ptr, target_p->user->channel.head)
+ if (!IsService(target_p))
{
- msptr = ptr->data;
- chptr = msptr->chptr;
+ DLINK_FOREACH(ptr, target_p->user->channel.head)
+ {
+ msptr = ptr->data;
+ chptr = msptr->chptr;
- visible = IsService(target_p) ? IsMember(source_p, chptr) : ShowChannel(source_p, chptr);
+ visible = ShowChannel(source_p, chptr);
- if(visible || operspy)
- {
- if((cur_len + strlen(chptr->chname) + 3) > (BUFSIZE - 5))
+ if(visible || operspy)
{
- sendto_one(source_p, "%s", buf);
- cur_len = mlen + extra_space;
- t = buf + mlen;
+ 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;
}
-
- tlen = ircsprintf(t, "%s%s%s ",
- visible ? "" : "!",
- find_channel_status(msptr, 1),
- chptr->chname);
- t += tlen;
- cur_len += tlen;
}
}
sendto_one(source_p, "%s", buf);
sendto_one_numeric(source_p, RPL_WHOISSERVER, form_str(RPL_WHOISSERVER),
- target_p->name, target_p->user->server,
+ target_p->name, target_p->servptr->name,
a2client_p ? a2client_p->info : "*Not On This Net*");
if(target_p->user->away)