SILC_SERVER_SEND_NOTIFY(server, sock, SILC_NOTIFY_TYPE_NONE,
("There are %d clients on %d server in our cell",
server->stat.cell_clients,
- server->stat.cell_servers));
+ server->stat.cell_servers + 1));
SILC_SERVER_SEND_NOTIFY(server, sock, SILC_NOTIFY_TYPE_NONE,
("I have %d clients, %d channels, %d servers and "
"%d routers",
/* Remove the client entry */
silc_idlist_del_client(id_list, (SilcClientEntry)id_entry);
server->stat.clients--;
+ if (sock->type == SILC_SOCKET_TYPE_SERVER &&
+ server->server_type == SILC_ROUTER)
+ server->stat.cell_clients--;
SILC_LOG_DEBUG(("Removed client id(%s) from [%s] %s",
silc_id_render(id, SILC_ID_CLIENT),
if (id_entry) {
silc_idlist_del_server(id_list, (SilcServerEntry)id_entry);
server->stat.servers--;
+ if (sock->type == SILC_SOCKET_TYPE_SERVER &&
+ server->server_type == SILC_ROUTER)
+ server->stat.cell_servers--;
SILC_LOG_DEBUG(("Removed server id(%s) from [%s] %s",
silc_id_render(id, SILC_ID_SERVER),
if (id_entry) {
silc_idlist_del_channel(id_list, (SilcChannelEntry)id_entry);
server->stat.channels--;
+ if (sock->type == SILC_SOCKET_TYPE_SERVER &&
+ server->server_type == SILC_ROUTER)
+ server->stat.cell_channels--;
SILC_LOG_DEBUG(("Removed channel id(%s) from [%s] %s",
silc_id_render(id, SILC_ID_CHANNEL),