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

Comparing ircd-hybrid/trunk/src/resv.c (file contents):
Revision 1859 by michael, Thu Apr 25 15:09:36 2013 UTC vs.
Revision 1860 by michael, Thu Apr 25 15:19:00 2013 UTC

# Line 53 | Line 53 | dlink_list resv_channel_list = { NULL, N
53   struct MaskItem *
54   create_resv(const char *name, const char *reason, const dlink_list *list)
55   {
56 +  dlink_node *ptr = NULL;
57    struct MaskItem *conf = NULL;
58    enum maskitem_type type;
59  
# Line 73 | Line 74 | create_resv(const char *name, const char
74  
75    if (list)
76    {
77 <    if (strlen(name) == 2 && IsAlpha(*(name + 1) && IsAlpha(*(name + 2))))
77 >    DLINK_FOREACH(ptr, list->head)
78      {
79 <      struct exempt *exptr = MyMalloc(sizeof(*exptr));
79 >      char nick[NICKLEN + 1];
80 >      char user[USERLEN + 1];
81 >      char host[HOSTLEN + 1];
82 >      struct split_nuh_item nuh;
83 >      struct exempt *exptr = NULL;
84 >      char *s = ptr->data;
85  
86 <      exptr->name = xstrdup(name);
81 <      exptr->coid = GeoIP_id_by_code(name);
82 <      dlinkAdd(exptr, &exptr->node, &conf->exempt_list);
83 <    }
84 <    else
85 <    {
86 <      dlink_node *ptr = NULL;
87 <
88 <      DLINK_FOREACH(ptr, list->head)
86 >      if (strlen(s) == 2 && IsAlpha(*(s + 1) && IsAlpha(*(s + 2))))
87        {
88 <        char nick[NICKLEN + 1];
89 <        char user[USERLEN + 1];
90 <        char host[HOSTLEN + 1];
91 <        struct split_nuh_item nuh;
92 <        struct exempt *exptr = NULL;
93 <
94 <        nuh.nuhmask  = name;
88 >        exptr = MyMalloc(sizeof(*exptr));
89 >        exptr->name = xstrdup(s);
90 >        exptr->coid = GeoIP_id_by_code(s);
91 >        dlinkAdd(exptr, &exptr->node, &conf->exempt_list);
92 >      }
93 >      else
94 >      {
95 >        nuh.nuhmask  = s;
96          nuh.nickptr  = nick;
97          nuh.userptr  = user;
98          nuh.hostptr  = host;
# Line 105 | Line 104 | create_resv(const char *name, const char
104          split_nuh(&nuh);
105  
106          exptr = MyMalloc(sizeof(*exptr));
107 <        exptr->name = xstrdup(name);
107 >        exptr->name = xstrdup(nick);
108          exptr->user = xstrdup(user);
109          exptr->host = xstrdup(host);
110          exptr->type = parse_netmask(host, &exptr->addr, &exptr->bits);

Diff Legend

– Removed lines
+ Added lines
< Changed lines (old)
> Changed lines (new)