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

Comparing ircd-hybrid/trunk/src/channel_mode.c (file contents):
Revision 3148 by michael, Wed Mar 12 20:02:20 2014 UTC vs.
Revision 3149 by michael, Fri Mar 14 12:38:27 2014 UTC

# Line 53 | Line 53 | static unsigned int mode_limit;  /* numb
53   static unsigned int simple_modes_mask;  /* bit mask of simple modes already set */
54   extern mp_pool_t *ban_pool;
55  
56 + const struct mode_letter chan_modes[] =
57 + {
58 +  { MODE_NOCTRL,     'c' },
59 +  { MODE_INVITEONLY, 'i' },
60 +  { MODE_MODERATED,  'm' },
61 +  { MODE_NOPRIVMSGS, 'n' },
62 +  { MODE_PRIVATE,    'p' },
63 +  { MODE_REGISTERED, 'r' },
64 +  { MODE_SECRET,     's' },
65 +  { MODE_TOPICLIMIT, 't' },
66 +  { MODE_MODREG,     'M' },
67 +  { MODE_OPERONLY,   'O' },
68 +  { MODE_REGONLY,    'R' },
69 +  { MODE_SSLONLY,    'S' },
70 +  { 0, '\0' }
71 + };
72 +
73  
74   /* check_string()
75   *
# Line 263 | Line 280 | del_id(struct Channel *chptr, char *bani
280    return 0;
281   }
282  
266 – const struct mode_letter chan_modes[] =
267 – {
268 –  { MODE_NOCTRL,     'c' },
269 –  { MODE_INVITEONLY, 'i' },
270 –  { MODE_MODERATED,  'm' },
271 –  { MODE_NOPRIVMSGS, 'n' },
272 –  { MODE_PRIVATE,    'p' },
273 –  { MODE_REGISTERED, 'r' },
274 –  { MODE_SECRET,     's' },
275 –  { MODE_TOPICLIMIT, 't' },
276 –  { MODE_MODREG,     'M' },
277 –  { MODE_OPERONLY,   'O' },
278 –  { MODE_REGONLY,    'R' },
279 –  { MODE_SSLONLY,    'S' },
280 –  { 0, '\0' }
281 – };
282 –
283   /* channel_modes()
284   *
285   * inputs       - pointer to channel
# Line 335 | Line 335 | fix_key(char *arg)
335   {
336    unsigned char *s, *t, c;
337  
338 <  for (s = t = (unsigned char *)arg; (c = *s); s++)
338 >  for (s = t = (unsigned char *)arg; (c = *s); ++s)
339    {
340      c &= 0x7f;
341  
# Line 361 | Line 361 | fix_key_old(char *arg)
361   {
362    unsigned char *s, *t, c;
363  
364 <  for (s = t = (unsigned char *)arg; (c = *s); s++)
364 >  for (s = t = (unsigned char *)arg; (c = *s); ++s)
365    {
366      c &= 0x7f;
367  
# Line 374 | Line 374 | fix_key_old(char *arg)
374    return arg;
375   }
376  
377 + /*
378 + * inputs       - pointer to channel
379 + * output       - none
380 + * side effects - clear ban cache
381 + */
382 + void
383 + clear_ban_cache(struct Channel *chptr)
384 + {
385 +  dlink_node *ptr = NULL;
386 +
387 +  DLINK_FOREACH(ptr, chptr->members.head)
388 +  {
389 +    struct Membership *ms = ptr->data;
390 +
391 +    if (MyConnect(ms->client_p))
392 +      ms->flags &= ~(CHFL_BAN_SILENCED|CHFL_BAN_CHECKED);
393 +  }
394 + }
395 +
396 + void
397 + clear_ban_cache_client(struct Client *client_p)
398 + {
399 +  dlink_node *ptr = NULL;
400 +
401 +  DLINK_FOREACH(ptr, client_p->channel.head)
402 +  {
403 +    struct Membership *ms = ptr->data;
404 +    ms->flags &= ~(CHFL_BAN_SILENCED|CHFL_BAN_CHECKED);
405 +  }
406 + }
407 +
408   /* bitmasks for various error returns that set_channel_mode should only return
409   * once per call  -orabidoo
410   */
# Line 780 | Line 811 | chm_invex(struct Client *client_p, struc
811    mode_changes[mode_count++].arg = mask;
812   }
813  
783 – /*
784 – * inputs       - pointer to channel
785 – * output       - none
786 – * side effects - clear ban cache
787 – */
788 – void
789 – clear_ban_cache(struct Channel *chptr)
790 – {
791 –  dlink_node *ptr = NULL;
792 –
793 –  DLINK_FOREACH(ptr, chptr->members.head)
794 –  {
795 –    struct Membership *ms = ptr->data;
796 –
797 –    if (MyConnect(ms->client_p))
798 –      ms->flags &= ~(CHFL_BAN_SILENCED|CHFL_BAN_CHECKED);
799 –  }
800 – }
801 –
802 – void
803 – clear_ban_cache_client(struct Client *client_p)
804 – {
805 –  dlink_node *ptr = NULL;
806 –
807 –  DLINK_FOREACH(ptr, client_p->channel.head)
808 –  {
809 –    struct Membership *ms = ptr->data;
810 –    ms->flags &= ~(CHFL_BAN_SILENCED|CHFL_BAN_CHECKED);
811 –  }
812 – }
813 –
814   static void
815   chm_voice(struct Client *client_p, struct Client *source_p,
816            struct Channel *chptr, int parc, int *parn,
# Line 1544 | Line 1544 | send_mode_changes_server(struct Client *
1544    }
1545  
1546    if (pbl && parabuf[pbl - 1] == ' ')
1547 <    parabuf[pbl - 1] = 0;
1547 >    parabuf[pbl - 1] = '\0';
1548  
1549    if (nc != 0)
1550      sendto_server(client_p, NOCAPS, NOCAPS, "%s %s", modebuf, parabuf);
# Line 1651 | Line 1651 | send_mode_changes(struct Client *client_
1651    }
1652  
1653    if (pbl && parabuf[pbl - 1] == ' ')
1654 <    parabuf[pbl - 1] = 0;
1654 >    parabuf[pbl - 1] = '\0';
1655  
1656    if (nc != 0)
1657      sendto_channel_local(ALL_MEMBERS, 0, chptr, "%s %s", modebuf, parabuf);

Diff Legend

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