#include "packet.h"
#include "s_newconf.h"
#include "ratelimit.h"
+#include "supported.h"
#define FIELD_CHANNEL 0x0001
#define FIELD_HOP 0x0002
const char *querytype;
};
-static int m_who(struct Client *, struct Client *, int, const char **);
+static int m_who(struct MsgBuf *, struct Client *, struct Client *, int, const char **);
struct Message who_msgtab = {
- "WHO", 0, 0, 0, MFLG_SLOW,
+ "WHO", 0, 0, 0, 0,
{mg_unreg, {m_who, 2}, mg_ignore, mg_ignore, mg_ignore, {m_who, 2}}
};
+static int
+_modinit(void)
+{
+ add_isupport("WHOX", isupport_string, "");
+ return 0;
+}
+
+static void
+_moddeinit(void)
+{
+ delete_isupport("WHOX");
+}
+
mapi_clist_av1 who_clist[] = { &who_msgtab, NULL };
-DECLARE_MODULE_AV1(who, NULL, NULL, who_clist, NULL, NULL, "$Revision: 3350 $");
+DECLARE_MODULE_AV1(who, _modinit, _moddeinit, who_clist, NULL, NULL, "$Revision: 3350 $");
static void do_who_on_channel(struct Client *source_p, struct Channel *chptr,
int server_oper, int member,
** parv[2] = additional selection flag and format options
*/
static int
-m_who(struct Client *client_p, struct Client *source_p, int parc, const char *parv[])
+m_who(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p, int parc, const char *parv[])
{
static time_t last_used = 0;
struct Client *target_p;
max = *pos >= bufsize ? 0 : bufsize - *pos;
va_start(ap, fmt);
- result = rb_vsnprintf(buf + *pos, max, fmt, ap);
+ result = vsnprintf(buf + *pos, max, fmt, ap);
va_end(ap);
*pos += result;
}
size_t pos;
const char *q;
- rb_sprintf(status, "%c%s%s",
+ sprintf(status, "%c%s%s",
target_p->user->away ? 'G' : 'H', IsOper(target_p) ? "*" : "", msptr ? find_channel_status(msptr, fmt->fields || IsCapable(source_p, CLICAP_MULTI_PREFIX)) : "");
if (fmt->fields == 0)