/[svn]/ircd-hybrid/trunk/src/channel_mode.c
ViewVC logotype

Diff of /ircd-hybrid/trunk/src/channel_mode.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 8096 by michael, Wed Mar 29 13:47:38 2017 UTC revision 8097 by michael, Sat Apr 1 20:06:37 2017 UTC
# Line 403  chm_simple(struct Client *source_p, stru Line 403  chm_simple(struct Client *source_p, stru
403    
404    simple_modes_mask |= mode->mode;    simple_modes_mask |= mode->mode;
405    
406    /* setting + */    if (dir == MODE_ADD)  /* setting + */
   if (dir == MODE_ADD) /* && !(chptr->mode.mode & d)) */  
407    {    {
408      AddCMode(chptr, mode->mode);      if (MyClient(source_p) && HasCMode(chptr, mode->mode))
409          return;
410    
411      mode_changes[mode_count].letter = mode->letter;      AddCMode(chptr, mode->mode);
     mode_changes[mode_count].arg = NULL;  
     mode_changes[mode_count].id = NULL;  
     mode_changes[mode_count].flags = 0;  
     mode_changes[mode_count++].dir = dir;  
412    }    }
413    else if (dir == MODE_DEL) /* && (chptr->mode.mode & d)) */    else if (dir == MODE_DEL)  /* setting - */
414    {    {
415      /* setting - */      if (MyClient(source_p) && !HasCMode(chptr, mode->mode))
416      DelCMode(chptr, mode->mode);        return;
417    
418      mode_changes[mode_count].letter = mode->letter;      DelCMode(chptr, mode->mode);
     mode_changes[mode_count].arg = NULL;  
     mode_changes[mode_count].id = NULL;  
     mode_changes[mode_count].flags = 0;  
     mode_changes[mode_count++].dir = dir;  
419    }    }
420    
421      mode_changes[mode_count].letter = mode->letter;
422      mode_changes[mode_count].arg = NULL;
423      mode_changes[mode_count].id = NULL;
424      mode_changes[mode_count].flags = 0;
425      mode_changes[mode_count++].dir = dir;
426  }  }
427    
428  static void  static void
# Line 1154  const struct chan_mode  cmode_tab[] = Line 1152  const struct chan_mode  cmode_tab[] =
1152    { .letter = 'C', .mode = MODE_NOCTCP, .func = chm_simple },    { .letter = 'C', .mode = MODE_NOCTCP, .func = chm_simple },
1153    { .letter = 'I', .func = chm_invex },    { .letter = 'I', .func = chm_invex },
1154    { .letter = 'L', .mode = MODE_EXTLIMIT, .only_opers = 1, .func = chm_simple },    { .letter = 'L', .mode = MODE_EXTLIMIT, .only_opers = 1, .func = chm_simple },
1155    { .letter = 'M', .mode = MODE_MODREG, .func = chm_simple},    { .letter = 'M', .mode = MODE_MODREG, .func = chm_simple },
1156    { .letter = 'O', .mode = MODE_OPERONLY, .only_opers = 1, .func = chm_simple },    { .letter = 'O', .mode = MODE_OPERONLY, .only_opers = 1, .func = chm_simple },
1157    { .letter = 'R', .mode = MODE_REGONLY, .func = chm_simple},    { .letter = 'R', .mode = MODE_REGONLY, .func = chm_simple },
1158    { .letter = 'S', .mode = MODE_SSLONLY, .func = chm_simple},    { .letter = 'S', .mode = MODE_SSLONLY, .func = chm_simple },
1159    { .letter = 'T', .mode = MODE_NONOTICE, .func = chm_simple},    { .letter = 'T', .mode = MODE_NONOTICE, .func = chm_simple },
1160    { .letter = '\0', .mode = 0 }    { .letter = '\0', .mode = 0 }
1161  };  };
1162    

Legend:
Removed from v.8096  
changed lines
  Added in v.8097

svnadmin@ircd-hybrid.org
ViewVC Help
Powered by ViewVC 1.1.28