ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid-8/src/conf.c
(Generate patch)

Comparing ircd-hybrid-7.2/src/s_conf.c (file contents):
Revision 671 by michael, Tue Jun 13 07:15:38 2006 UTC vs.
Revision 672 by michael, Tue Jun 13 07:28:30 2006 UTC

# Line 1326 | Line 1326 | detach_conf(struct Client *client_p, Con
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:

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines