summaryrefslogtreecommitdiff
path: root/src/s_bsd.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/s_bsd.c')
-rw-r--r--src/s_bsd.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/src/s_bsd.c b/src/s_bsd.c
index 5eaae02..b3ea5f1 100644
--- a/src/s_bsd.c
+++ b/src/s_bsd.c
@@ -177,8 +177,6 @@ init_comm(void)
void
close_connection(struct Client *client_p)
{
- struct AccessItem *aconf;
- struct ClassItem *aclass;
dlink_node *ptr = NULL;
assert(client_p);
@@ -210,7 +208,7 @@ close_connection(struct Client *client_p)
DLINK_FOREACH(ptr, server_items.head)
{
- struct ConfItem *conf = ptr->data;
+ struct MaskItem *conf = ptr->data;
if (irccmp(conf->name, client_p->name))
continue;
@@ -219,9 +217,7 @@ close_connection(struct Client *client_p)
* Reset next-connect cycle of all connect{} blocks that match
* this servername.
*/
- aconf = map_to_conf(conf);
- aclass = map_to_conf(aconf->class_ptr);
- aconf->hold = CurrentTime + aclass->con_freq;
+ conf->hold = CurrentTime + conf->class->con_freq;
}
}
else
@@ -243,7 +239,7 @@ close_connection(struct Client *client_p)
dbuf_clear(&client_p->localClient->buf_recvq);
MyFree(client_p->localClient->passwd);
- detach_conf(client_p, CONF_TYPE);
+ detach_conf(client_p, CONF_CLIENT|CONF_OPER|CONF_SERVER);
client_p->from = NULL; /* ...this should catch them! >:) --msa */
}