1326 |
|
case SERVER_TYPE: |
1327 |
|
aconf = map_to_conf(conf); |
1328 |
|
|
1329 |
< |
/* Please, no ioccc entries - Dianora */ |
1330 |
< |
if (aconf->clients > 0) |
1331 |
< |
--aconf->clients; |
1332 |
< |
if (aconf->clients == 0 && IsConfIllegal(aconf)) |
1333 |
< |
delete_conf_item(conf); |
1329 |
> |
assert(aconf->clients > 0); |
1330 |
|
|
1331 |
|
if ((aclass_conf = ClassPtr(aconf)) != NULL) |
1332 |
|
{ |
1333 |
|
aclass = map_to_conf(aclass_conf); |
1334 |
|
|
1335 |
+ |
assert(aclass->curr_user_count > 0); |
1336 |
+ |
|
1337 |
|
if (conf->type == CLIENT_TYPE) |
1338 |
|
remove_from_cidr_check(&client_p->localClient->ip, aclass); |
1339 |
< |
if (aclass->curr_user_count > 0) |
1342 |
< |
--aclass->curr_user_count; |
1343 |
< |
if (aclass->active == 0 && aclass->curr_user_count <= 0) |
1339 |
> |
if (--aclass->curr_user_count == 0 && aclass->active == 0) |
1340 |
|
delete_conf_item(aclass_conf); |
1341 |
|
} |
1342 |
|
|
1343 |
+ |
if (--aconf->clients == 0 && IsConfIllegal(aconf)) |
1344 |
+ |
delete_conf_item(conf); |
1345 |
+ |
|
1346 |
|
break; |
1347 |
|
|
1348 |
|
case LEAF_TYPE: |