722 |
|
|
723 |
|
if (IsServer(source_p)) |
724 |
|
{ |
725 |
< |
dlinkDelete(&source_p->lnode, &source_p->servptr->serv->servers); |
725 |
> |
dlinkDelete(&source_p->lnode, &source_p->servptr->serv->server_list); |
726 |
|
|
727 |
|
if ((lp = dlinkFindDelete(&global_serv_list, source_p)) != NULL) |
728 |
|
free_dlink_node(lp); |
729 |
– |
|
730 |
– |
if (!MyConnect(source_p)) |
731 |
– |
{ |
732 |
– |
source_p->from->serv->dep_servers--; |
733 |
– |
assert(source_p->from->serv->dep_servers > 0); |
734 |
– |
} |
729 |
|
} |
730 |
|
else if (IsClient(source_p)) |
731 |
|
{ |
732 |
|
if (source_p->servptr->serv != NULL) |
733 |
< |
dlinkDelete(&source_p->lnode, &source_p->servptr->serv->users); |
733 |
> |
dlinkDelete(&source_p->lnode, &source_p->servptr->serv->client_list); |
734 |
|
|
735 |
|
/* If a person is on a channel, send a QUIT notice |
736 |
|
** to every client (person) on the same channel (so |
748 |
|
|
749 |
|
watch_check_hash(source_p, RPL_LOGOFF); |
750 |
|
|
751 |
< |
if (!MyConnect(source_p)) |
758 |
< |
{ |
759 |
< |
source_p->from->serv->dep_users--; |
760 |
< |
assert(source_p->from->serv->dep_users >= 0); |
761 |
< |
} |
762 |
< |
else |
751 |
> |
if (MyConnect(source_p)) |
752 |
|
{ |
753 |
|
/* Clean up invitefield */ |
754 |
|
DLINK_FOREACH_SAFE(lp, next_lp, source_p->localClient->invited.head) |
811 |
|
* hidden behind fakename. If so, send out the QUITs -adx |
812 |
|
*/ |
813 |
|
if (hidden || !IsCapable(to, CAP_QS)) |
814 |
< |
DLINK_FOREACH_SAFE(ptr, next, source_p->serv->users.head) |
814 |
> |
DLINK_FOREACH_SAFE(ptr, next, source_p->serv->client_list.head) |
815 |
|
{ |
816 |
|
target_p = ptr->data; |
817 |
|
sendto_one(to, ":%s QUIT :%s", target_p->name, splitstr); |
818 |
|
} |
819 |
|
|
820 |
< |
DLINK_FOREACH_SAFE(ptr, next, source_p->serv->servers.head) |
820 |
> |
DLINK_FOREACH_SAFE(ptr, next, source_p->serv->server_list.head) |
821 |
|
recurse_send_quits(original_source_p, ptr->data, from, to, |
822 |
|
comment, splitstr, myname); |
823 |
|
|
841 |
|
{ |
842 |
|
dlink_node *ptr, *next; |
843 |
|
|
844 |
< |
DLINK_FOREACH_SAFE(ptr, next, source_p->serv->users.head) |
844 |
> |
DLINK_FOREACH_SAFE(ptr, next, source_p->serv->client_list.head) |
845 |
|
exit_one_client(ptr->data, quitmsg); |
846 |
|
|
847 |
< |
DLINK_FOREACH_SAFE(ptr, next, source_p->serv->servers.head) |
847 |
> |
DLINK_FOREACH_SAFE(ptr, next, source_p->serv->server_list.head) |
848 |
|
{ |
849 |
|
recurse_remove_clients(ptr->data, quitmsg); |
850 |
|
exit_one_client(ptr->data, quitmsg); |
851 |
|
} |
863 |
– |
|
864 |
– |
assert(source_p->serv->dep_servers == 1); |
865 |
– |
assert(source_p->serv->dep_users == 0); |
852 |
|
} |
853 |
|
|
854 |
|
/* |