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

Comparing ircd-hybrid/trunk/modules/m_svsmode.c (file contents):
Revision 3347 by michael, Sun Apr 20 14:03:06 2014 UTC vs.
Revision 4340 by michael, Sat Aug 2 16:53:22 2014 UTC

# Line 48 | Line 48
48   * \note Valid arguments for this command are:
49   *      - parv[0] = command
50   *      - parv[1] = nickname
51 < *      - parv[2] = TS (or mode, depending on svs version)
52 < *      - parv[3] = mode (or services id if old svs version)
53 < *      - parv[4] = optional argument (services id)
51 > *      - parv[2] = TS
52 > *      - parv[3] = mode
53 > *      - parv[4] = optional argument (services id, vhost)
54   */
55   static int
56   ms_svsmode(struct Client *source_p, int parc, char *parv[])
# Line 64 | Line 64 | ms_svsmode(struct Client *source_p, int
64    if (!HasFlag(source_p, FLAGS_SERVICE))
65      return 0;
66  
67 <  if ((parc >= 4) && ((*parv[3] == '+') || (*parv[3] == '-')))
68 <  {
69 <    ts     = atol(parv[2]);
70 <    modes  = parv[3];
71 <    extarg = (parc > 4) ? parv[4] : NULL;
72 <  }
73 <  else
74 <  {
75 <    modes  = parv[2];
76 <    extarg = (parc > 3) ? parv[3] : NULL;
77 <  }
67 >  ts     = atol(parv[2]);
68 >  modes  = parv[3];
69 >  extarg = (parc > 4) ? parv[4] : NULL;
70  
71    if ((target_p = find_person(source_p, parv[1])) == NULL)
72      return 0;
# Line 109 | Line 101 | ms_svsmode(struct Client *source_p, int
101          if (what == MODE_DEL && HasUMode(target_p, UMODE_OPER))
102          {
103            ClearOper(target_p);
104 <          Count.oper--;
104 >          --Count.oper;
105  
106            if (MyConnect(target_p))
107            {
# Line 117 | Line 109 | ms_svsmode(struct Client *source_p, int
109  
110              detach_conf(target_p, CONF_OPER);
111              ClrOFlag(target_p);
112 <            DelUMode(target_p, ConfigFileEntry.oper_only_umodes);
112 >            DelUMode(target_p, ConfigGeneral.oper_only_umodes);
113  
114              if ((dm = dlinkFindDelete(&oper_list, target_p)))
115                free_dlink_node(dm);
# Line 171 | Line 163 | ms_svsmode(struct Client *source_p, int
163    {
164      char modebuf[IRCD_BUFSIZE] = "";
165  
166 <    send_umode(target_p, target_p, setmodes, 0xffffffff, modebuf);
166 >    send_umode(target_p, target_p, setmodes, modebuf);
167    }
168  
169    return 0;
# Line 179 | Line 171 | ms_svsmode(struct Client *source_p, int
171  
172   static struct Message svsmode_msgtab =
173   {
174 <  "SVSMODE", 0, 0, 3, MAXPARA, MFLG_SLOW, 0,
174 >  "SVSMODE", 0, 0, 4, MAXPARA, MFLG_SLOW, 0,
175    { m_ignore, m_ignore, ms_svsmode, m_ignore, m_ignore, m_ignore }
176   };
177  

Diff Legend

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