X-Git-Url: https://jfr.im/git/solanum.git/blobdiff_plain/ff12cc94790de2e87e78ee7aa378f21fa415d73c..8aadf0ce464a0e18e987a401a694d48d293953e6:/ircd/tgchange.c diff --git a/ircd/tgchange.c b/ircd/tgchange.c index 0db3a194..1f4ebdc0 100644 --- a/ircd/tgchange.c +++ b/ircd/tgchange.c @@ -1,5 +1,5 @@ /* - * charybdis: an advanced Internet Relay Chat Daemon(ircd). + * Solanum: a slightly advanced ircd * tgchange.c - code for restricting private messages * * Copyright (C) 2004-2005 Lee Hardy @@ -38,14 +38,14 @@ static int add_hashed_target(struct Client *source_p, uint32_t hashv); struct Channel * find_allowing_channel(struct Client *source_p, struct Client *target_p) { - rb_dlink_node *ptr; - struct membership *msptr; + rb_dlink_node *ps, *pt; + struct membership *ms, *mt; + struct Channel *chptr; - RB_DLINK_FOREACH(ptr, source_p->user->channel.head) + ITER_COMM_CHANNELS(ps, pt, source_p->user->channel.head, target_p->user->channel.head, ms, mt, chptr) { - msptr = ptr->data; - if (is_chanop_voiced(msptr) && IsMember(target_p, msptr->chptr)) - return msptr->chptr; + if (ms != NULL && mt != NULL && is_chanop_voiced(ms)) + return chptr; } return NULL; }