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-7.2/src/channel_mode.c (file contents):
Revision 387 by michael, Tue Jan 10 10:45:48 2006 UTC vs.
Revision 388 by michael, Wed Feb 1 12:51:45 2006 UTC

# Line 44 | Line 44
44   #include "memory.h"
45   #include "balloc.h"
46   #include "s_log.h"
47 + #include "msg.h"
48  
49   /* some small utility functions */
50   static char *check_string(char *);
# Line 91 | Line 92 | static void send_mode_changes(struct Cli
92   #define NCHCAPS         (sizeof(channel_capabs)/sizeof(int))
93   #define NCHCAP_COMBOS   (1 << NCHCAPS)
94  
95 + static char nuh_mask[MAXPARA][IRCD_BUFSIZE];
96   /* some buffers for rebuilding channel/nick lists with ,'s */
97   static char modebuf[IRCD_BUFSIZE];
98   static char parabuf[MODEBUFLEN];
# Line 641 | Line 643 | chm_ban(struct Client *client_p, struct
643    if (MyClient(source_p) && (++mode_limit > MAXMODEPARAMS))
644      return;
645  
646 <  mask = parv[(*parn)++];
647 <  
646 >  mask = nuh_mask[*parn];
647 >  memcpy(mask, parv[*parn], sizeof(nuh_mask[*parn]));
648 >  ++*parn;
649 >
650    if (IsServer(client_p))
651      if (strchr(mask, ' '))
652        return;
# Line 736 | Line 740 | chm_except(struct Client *client_p, stru
740    if (MyClient(source_p) && (++mode_limit > MAXMODEPARAMS))
741      return;
742  
743 <  mask = parv[(*parn)++];
743 >  mask = nuh_mask[*parn];
744 >  memcpy(mask, parv[*parn], sizeof(nuh_mask[*parn]));
745 >  ++*parn;
746  
747    if (IsServer(client_p))
748      if (strchr(mask, ' '))
# Line 828 | Line 834 | chm_invex(struct Client *client_p, struc
834    if (MyClient(source_p) && (++mode_limit > MAXMODEPARAMS))
835      return;
836  
837 <  mask = parv[(*parn)++];
837 >  mask = nuh_mask[*parn];
838 >  memcpy(mask, parv[*parn], sizeof(nuh_mask[*parn]));
839 >  ++*parn;
840  
841    if (IsServer(client_p))
842      if (strchr(mask, ' '))

Diff Legend

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