*/
#include "stdinc.h"
-#include "tools.h"
#include "channel.h"
#include "client.h"
#include "hash.h"
-#include "irc_string.h"
+#include "match.h"
#include "ircd.h"
#include "numeric.h"
#include "s_conf.h"
#include "msg.h"
#include "parse.h"
#include "modules.h"
-#include "event.h"
-static dlink_list safelisting_clients = { NULL, NULL, 0 };
+static rb_dlink_list safelisting_clients = { NULL, NULL, 0 };
static int _modinit(void);
static void _moddeinit(void);
DECLARE_MODULE_AV1(list, _modinit, _moddeinit, list_clist, NULL, list_hfnlist, "$Revision: 3372 $");
+static struct ev_entry *iterate_clients_ev = NULL;
+
static int _modinit(void)
{
- eventAdd("safelist_iterate_clients", safelist_iterate_clients, NULL, 3);
+ iterate_clients_ev = rb_event_add("safelist_iterate_clients", safelist_iterate_clients, NULL, 3);
return 0;
}
static void _moddeinit(void)
{
- eventDelete(safelist_iterate_clients, NULL);
+ rb_event_delete(iterate_clients_ev);
}
static void safelist_check_cliexit(hook_data_client_exit * hdata)
}
/* m_list()
- * parv[0] = sender prefix
* parv[1] = channel
*
* XXX - With SAFELIST, do we really need to continue pacing?
if (parc < 2 || !IsChannelName(parv[1]))
{
/* pace this due to the sheer traffic involved */
- if (((last_used + ConfigFileEntry.pace_wait) > CurrentTime))
+ if (((last_used + ConfigFileEntry.pace_wait) > rb_current_time()))
{
sendto_one(source_p, form_str(RPL_LOAD2HI), me.name, source_p->name, "LIST");
sendto_one(source_p, form_str(RPL_LISTEND), me.name, source_p->name);
return 0;
}
else
- last_used = CurrentTime;
+ last_used = rb_current_time();
}
return mo_list(client_p, source_p, parc, parv);
}
/* mo_list()
- * parv[0] = sender prefix
* parv[1] = channel
*/
static int mo_list(struct Client *client_p, struct Client *source_p, int parc, const char *parv[])
*/
static int safelist_sendq_exceeded(struct Client *client_p)
{
- if (linebuf_len(&client_p->localClient->buf_sendq) > (get_sendq(client_p) / 2))
+ if (rb_linebuf_len(&client_p->localClient->buf_sendq) > (get_sendq(client_p) / 2))
return YES;
else
return NO;
s_assert(MyClient(client_p));
s_assert(params != NULL);
- self = MyMalloc(sizeof(struct ListClient));
+ self = rb_malloc(sizeof(struct ListClient));
self->hash_indice = 0;
self->users_min = params->users_min;
sendto_one(client_p, form_str(RPL_LISTSTART), me.name, client_p->name);
/* pop the client onto the queue for processing */
- dlinkAddAlloc(client_p, &safelisting_clients);
+ rb_dlinkAddAlloc(client_p, &safelisting_clients);
/* give the user some initial data to work with */
safelist_iterate_client(client_p);
{
s_assert(MyClient(client_p));
- dlinkFindDestroy(client_p, &safelisting_clients);
+ rb_dlinkFindDestroy(client_p, &safelisting_clients);
- MyFree(client_p->localClient->safelist_data);
+ rb_free(client_p->localClient->safelist_data);
client_p->localClient->safelist_data = NULL;
return;
}
- if (ShowChannel(source_p, chptr))
+ if (!SecretChannel(chptr) || IsMember(source_p, chptr))
sendto_one(source_p, form_str(RPL_LIST), me.name, source_p->name, chptr->chname,
- dlink_list_length(&chptr->members),
+ rb_dlink_list_length(&chptr->members),
chptr->topic == NULL ? "" : chptr->topic);
sendto_one(source_p, form_str(RPL_LISTEND), me.name, source_p->name);
*/
static void safelist_iterate_client(struct Client *source_p)
{
- dlink_node *ptr;
+ rb_dlink_node *ptr;
int iter;
for (iter = source_p->localClient->safelist_data->hash_indice; iter < CH_MAX; iter++)
return;
}
- DLINK_FOREACH(ptr, channelTable[iter].head)
+ RB_DLINK_FOREACH(ptr, channelTable[iter].head)
safelist_one_channel(source_p, (struct Channel *) ptr->data);
}
static void safelist_iterate_clients(void *unused)
{
- dlink_node *n, *n2;
+ rb_dlink_node *n, *n2;
- DLINK_FOREACH_SAFE(n, n2, safelisting_clients.head)
+ RB_DLINK_FOREACH_SAFE(n, n2, safelisting_clients.head)
safelist_iterate_client((struct Client *)n->data);
}