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 3096 by michael, Sat Mar 1 23:31:45 2014 UTC vs.
Revision 3215 by michael, Tue Mar 25 19:23:15 2014 UTC

# Line 40 | Line 40
40  
41   /*! \brief SVSMODE command handler (called by services)
42   *
43 – * \param client_p Pointer to allocated Client struct with physical connection
44 – *                 to this server, i.e. with an open socket connected.
43   * \param source_p Pointer to allocated Client struct from which the message
44   *                 originally comes from.  This can be a local or remote client.
45   * \param parc     Integer holding the number of supplied arguments.
# Line 55 | Line 53
53   *      - parv[4] = optional argument (services id)
54   */
55   static int
56 < ms_svsmode(struct Client *client_p, struct Client *source_p,
59 <           int parc, char *parv[])
56 > ms_svsmode(struct Client *source_p, int parc, char *parv[])
57   {
58    struct Client *target_p = NULL;
59    int what = MODE_ADD;
# Line 79 | Line 76 | ms_svsmode(struct Client *client_p, stru
76      extarg = (parc > 3) ? parv[3] : NULL;
77    }
78  
79 <  if ((target_p = find_person(client_p, parv[1])) == NULL)
79 >  if ((target_p = find_person(source_p, parv[1])) == NULL)
80      return 0;
81  
82    if (ts && (ts != target_p->tsinfo))
# Line 162 | Line 159 | ms_svsmode(struct Client *client_p, stru
159    }
160  
161    if (extarg)
162 <  {
163 <    sendto_server(client_p, CAP_TS6, NOCAPS,
164 <                  ":%s SVSMODE %s %lu %s %s", ID(source_p),
168 <                  ID(target_p), (unsigned long)target_p->tsinfo, modes, extarg);
169 <    sendto_server(client_p, NOCAPS, CAP_TS6,
170 <                  ":%s SVSMODE %s %lu %s %s", source_p->name,
171 <                  target_p->name, (unsigned long)target_p->tsinfo, modes, extarg);
172 <  }
162 >    sendto_server(source_p, NOCAPS, NOCAPS, ":%s SVSMODE %s %lu %s %s",
163 >                  source_p->id,
164 >                  target_p->id, (unsigned long)target_p->tsinfo, modes, extarg);
165    else
166 <  {
167 <    sendto_server(client_p, CAP_TS6, NOCAPS,
168 <                  ":%s SVSMODE %s %lu %s", ID(source_p),
177 <                  ID(target_p), (unsigned long)target_p->tsinfo, modes);
178 <    sendto_server(client_p, NOCAPS, CAP_TS6,
179 <                  ":%s SVSMODE %s %lu %s", source_p->name,
180 <                  target_p->name, (unsigned long)target_p->tsinfo, modes);
181 <  }
166 >    sendto_server(source_p, NOCAPS, NOCAPS, ":%s SVSMODE %s %lu %s",
167 >                  source_p->id,
168 >                  target_p->id, (unsigned long)target_p->tsinfo, modes);
169  
170    if (MyConnect(target_p) && (setmodes != target_p->umodes))
171    {
172 <    char modebuf[IRCD_BUFSIZE];
172 >    char modebuf[IRCD_BUFSIZE] = "";
173  
174      send_umode(target_p, target_p, setmodes, 0xffffffff, modebuf);
175    }

Diff Legend

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