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

Comparing ircd-hybrid-7.3/src/client.c (file contents):
Revision 1124 by michael, Mon Feb 7 11:45:27 2011 UTC vs.
Revision 1126 by michael, Sun Feb 20 14:30:12 2011 UTC

# Line 123 | Line 123 | make_client(struct Client *from)
123      client_p->localClient = BlockHeapAlloc(lclient_heap);
124      client_p->localClient->registration = REG_INIT;
125      /* as good a place as any... */
126 <    dlinkAdd(client_p, make_dlink_node(), &unknown_list);
126 >    dlinkAdd(client_p, &client_p->localClient->lclient_node, &unknown_list);
127    }
128    else
129      client_p->from = from; /* 'from' of local client is self! */
# Line 920 | Line 920 | exit_client(struct Client *source_p, str
920       */
921      if (!IsRegistered(source_p))
922      {
923 <      if ((m = dlinkFindDelete(&unknown_list, source_p)) != NULL)
924 <        free_dlink_node(m);
923 >      assert(dlinkFind(&unknown_list, source_p));
924 >
925 >      dlinkDelete(&source_p->localClient->lclient_node, &unknown_list);
926      }
927      else if (IsClient(source_p))
928      {
# Line 934 | Line 935 | exit_client(struct Client *source_p, str
935            free_dlink_node(m);
936        }
937  
938 +      assert(dlinkFind(&local_client_list, source_p));
939        dlinkDelete(&source_p->localClient->lclient_node, &local_client_list);
940 +
941        if (source_p->localClient->list_task != NULL)
942          free_list_task(source_p->localClient->list_task, source_p);
943  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines