1
0
mirror of https://github.com/unrealircd/unrealircd.git synced 2026-07-09 18:53:13 +02:00

Fixed sendto_ functions to use slot number as index into sentalong array.

This commit is contained in:
mcskaf
2002-11-23 00:09:48 +00:00
parent 7ce89318f8
commit a21df7fcf5
+29 -26
View File
@@ -237,27 +237,30 @@ Member *make_member(void)
if (freemember == NULL)
{
for (i = 1; i <= (4072/sizeof(Member)); i++)
for (i = 1; i <= (4072/sizeof(Member)); ++i)
{
lp = (Member *)MyMalloc(sizeof(Member));
lp->cptr = NULL;
lp->flags = 0;
lp->next = freemember;
freemember = lp;
}
lp = freemember;
freemember = lp->next;
}
else
{
lp = freemember;
freemember = freemember->next;
}
lp = freemember;
freemember = freemember->next;
lp->next = NULL;
return lp;
}
void free_member(Member *lp)
{
lp->next = freemember;
freemember = lp;
if (lp)
{
lp->next = freemember;
lp->cptr = NULL;
lp->flags = 0;
freemember = lp;
}
}
/*
@@ -321,15 +324,18 @@ Membership *make_membership(int local)
void free_membership(Membership *lp, int local)
{
if (!local)
if (lp)
{
lp->next = freemembership;
freemembership = lp;
}
else
{
lp->next = (Membership *) freemembershipL;
freemembershipL = (MembershipL *) lp;
if (!local)
{
lp->next = freemembership;
freemembership = lp;
}
else
{
lp->next = (Membership *) freemembershipL;
freemembershipL = (MembershipL *) lp;
}
}
}
@@ -601,6 +607,7 @@ void remove_user_from_channel(aClient *sptr, aChannel *chptr)
Member *tmp; Membership *tmp2;
Member *lp = chptr->members;
/* find 1st entry in list that is not user */
for (; lp && (lp->cptr == sptr); lp = lp->next);
for (;;)
{
@@ -611,8 +618,7 @@ void remove_user_from_channel(aClient *sptr, aChannel *chptr)
free_member(tmp);
break;
}
for (curr2 = &sptr->user->channel; (tmp2 = *curr2);
curr2 = &tmp2->next)
for (curr2 = &sptr->user->channel; (tmp2 = *curr2); curr2 = &tmp2->next)
if (tmp2->chptr == chptr)
{
*curr2 = tmp2->next;
@@ -3925,11 +3931,11 @@ CMD_FUNC(m_invite)
#endif
)) {
if (over == 1)
sendto_channelops_butone(NULL, &me, chptr,
sendto_channelprefix_butone(NULL, &me, chptr, PREFIX_OP,
":%s NOTICE @%s :OperOverride -- %s invited him/herself into the channel.",
me.name, chptr->chname, sptr->name);
else if (over == 0)
sendto_channelops_butone(NULL, &me, chptr,
sendto_channelprefix_butone(NULL, &me, chptr, PREFIX_OP,
":%s NOTICE @%s :%s invited %s into the channel.",
me.name, chptr->chname, sptr->name, acptr->name);
@@ -3942,9 +3948,6 @@ CMD_FUNC(m_invite)
return 0;
}
/*
* The function which sends the actual channel list back to the user.
* Operates by stepping through the hashtable, sending the entries back if
@@ -4652,7 +4655,7 @@ CMD_FUNC(m_knock)
return 0;
}
sendto_channelops_butone(NULL, &me, chptr,
sendto_channelprefix_butone(NULL, &me, chptr, PREFIX_OP,
":%s NOTICE @%s :[Knock] by %s!%s@%s (%s) ",
me.name, chptr->chname, sptr->name,
sptr->user->username,