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

Comparing ircd-hybrid/trunk/src/send.c (file contents):
Revision 3112 by michael, Thu Mar 6 22:06:02 2014 UTC vs.
Revision 3113 by michael, Thu Mar 6 22:19:29 2014 UTC

# Line 202 | Line 202 | void
202   send_queued_write(struct Client *to)
203   {
204    int retlen = 0;
205  struct dbuf_queue *sendq = &to->localClient->buf_sendq;
205  
206    /*
207     ** Once socket is marked dead, we cannot start writing to it,
# Line 212 | Line 211 | send_queued_write(struct Client *to)
211      return;  /* no use calling send() now */
212  
213    /* Next, lets try to write some data */
214 <  if (dbuf_length(sendq))
214 >  if (dbuf_length(&to->localClient->buf_sendq))
215    {
216      do
217      {
218 <      struct dbuf_block *first = sendq->blocks.head->data;
218 >      struct dbuf_block *first = to->localClient->buf_sendq.blocks.head->data;
219  
220   #ifdef HAVE_LIBCRYPTO
221        if (to->localClient->fd.ssl)
222        {
223 <        retlen = SSL_write(to->localClient->fd.ssl, first->data + sendq->pos, first->size - sendq->pos);
223 >        retlen = SSL_write(to->localClient->fd.ssl, first->data + to->localClient->buf_sendq.pos, first->size - to->localClient->buf_sendq.pos);
224  
225          /* translate openssl error codes, sigh */
226          if (retlen < 0)
# Line 244 | Line 243 | send_queued_write(struct Client *to)
243        }
244        else
245   #endif
246 <        retlen = send(to->localClient->fd.fd, first->data + sendq->pos, first->size - sendq->pos, 0);
246 >        retlen = send(to->localClient->fd.fd, first->data + to->localClient->buf_sendq.pos, first->size - to->localClient->buf_sendq.pos, 0);
247  
248        if (retlen <= 0)
249          break;
# Line 259 | Line 258 | send_queued_write(struct Client *to)
258      if ((retlen < 0) && (ignoreErrno(errno)))
259      {
260        /* we have a non-fatal error, reschedule a write */
261 <      comm_setselect(&to->localClient->fd, COMM_SELECT_WRITE, (PF *)sendq_unblocked, to, 0);
261 >      comm_setselect(&to->localClient->fd, COMM_SELECT_WRITE,
262 >                     (PF *)sendq_unblocked, to, 0);
263      }
264      else if (retlen <= 0)
265      {
# Line 347 | Line 347 | sendto_one_numeric(struct Client *to, st
347  
348    buffer = dbuf_alloc();
349  
350 <  dbuf_put(buffer, ":%s %03d %s ", ID_or_name(from, to), numeric, dest);
350 >  dbuf_put_fmt(buffer, ":%s %03d %s ", ID_or_name(from, to), numeric, dest);
351  
352    va_start(args, numeric);
353    send_format(buffer, numeric_form(numeric), args);
# Line 376 | Line 376 | sendto_one_notice(struct Client *to, str
376  
377    buffer = dbuf_alloc();
378  
379 <  dbuf_put(buffer, ":%s NOTICE %s ", ID_or_name(from, to), dest);
379 >  dbuf_put_fmt(buffer, ":%s NOTICE %s ", ID_or_name(from, to), dest);
380  
381    va_start(args, pattern);
382    send_format(buffer, pattern, args);
# Line 410 | Line 410 | sendto_channel_butone(struct Client *one
410    local_buf = dbuf_alloc(), remote_buf = dbuf_alloc(), uid_buf = dbuf_alloc();
411  
412    if (IsServer(from))
413 <    dbuf_put(local_buf, ":%s ", from->name);
413 >    dbuf_put_fmt(local_buf, ":%s ", from->name);
414    else
415 <    dbuf_put(local_buf, ":%s!%s@%s ", from->name, from->username, from->host);
415 >    dbuf_put_fmt(local_buf, ":%s!%s@%s ", from->name, from->username, from->host);
416  
417 <  dbuf_put(remote_buf, ":%s ", from->name);
418 <  dbuf_put(uid_buf, ":%s ", ID(from));
417 >  dbuf_put_fmt(remote_buf, ":%s ", from->name);
418 >  dbuf_put_fmt(uid_buf, ":%s ", ID(from));
419  
420    va_start(alocal, pattern);
421    va_start(aremote, pattern);
# Line 703 | Line 703 | sendto_match_butone(struct Client *one,
703  
704    local_buf = dbuf_alloc(), remote_buf = dbuf_alloc();
705  
706 <  dbuf_put(local_buf, ":%s!%s@%s ", from->name, from->username, from->host);
707 <  dbuf_put(remote_buf, ":%s ", from->name);
706 >  dbuf_put_fmt(local_buf, ":%s!%s@%s ", from->name, from->username, from->host);
707 >  dbuf_put_fmt(remote_buf, ":%s ", from->name);
708  
709    va_start(alocal, pattern);
710    va_start(aremote, pattern);
# Line 780 | Line 780 | sendto_match_servs(struct Client *source
780    buff_suid = dbuf_alloc(), buff_name = dbuf_alloc();
781  
782    va_start(args, pattern);
783 <  dbuf_put(buff_suid, ":%s ", ID(source_p));
783 >  dbuf_put_fmt(buff_suid, ":%s ", ID(source_p));
784    dbuf_put_args(buff_suid, pattern, args);
785    va_end(args);
786  
787    va_start(args, pattern);
788 <  dbuf_put(buff_name, ":%s ", source_p->name);
788 >  dbuf_put_fmt(buff_name, ":%s ", source_p->name);
789    dbuf_put_args(buff_name, pattern, args);
790    va_end(args);
791  
# Line 849 | Line 849 | sendto_anywhere(struct Client *to, struc
849    if (MyClient(to))
850    {
851      if (IsServer(from))
852 <      dbuf_put(buffer, ":%s %s %s ", from->name, command, to->name);
852 >      dbuf_put_fmt(buffer, ":%s %s %s ", from->name, command, to->name);
853      else
854 <      dbuf_put(buffer, ":%s!%s@%s %s %s ", from->name, from->username, from->host, command, to->name);
854 >      dbuf_put_fmt(buffer, ":%s!%s@%s %s %s ", from->name, from->username, from->host, command, to->name);
855    }
856    else
857 <    dbuf_put(buffer, ":%s %s %s ", ID_or_name(from, to), command, ID_or_name(to, to));
857 >    dbuf_put_fmt(buffer, ":%s %s %s ", ID_or_name(from, to), command, ID_or_name(to, to));
858  
859    va_start(args, pattern);
860    send_format(buffer, pattern, args);
# Line 941 | Line 941 | sendto_wallops_flags(unsigned int flags,
941    buffer = dbuf_alloc();
942  
943    if (IsClient(source_p))
944 <    dbuf_put(buffer, ":%s!%s@%s WALLOPS :", source_p->name, source_p->username, source_p->host);
944 >    dbuf_put_fmt(buffer, ":%s!%s@%s WALLOPS :", source_p->name, source_p->username, source_p->host);
945    else
946 <    dbuf_put(buffer, ":%s WALLOPS :", source_p->name);
946 >    dbuf_put_fmt(buffer, ":%s WALLOPS :", source_p->name);
947  
948    va_start(args, pattern);
949    send_format(buffer, pattern, args);
# Line 1024 | Line 1024 | kill_client(struct Client *client_p, str
1024  
1025    buffer = dbuf_alloc();
1026  
1027 <  dbuf_put(buffer, ":%s KILL %s :",
1028 <           ID_or_name(&me, client_p),
1029 <           ID_or_name(diedie, client_p));
1027 >  dbuf_put_fmt(buffer, ":%s KILL %s :",
1028 >               ID_or_name(&me, client_p),
1029 >               ID_or_name(diedie, client_p));
1030  
1031    va_start(args, pattern);
1032    send_format(buffer, pattern, args);
# Line 1062 | Line 1062 | kill_client_serv_butone(struct Client *o
1062    {
1063      have_uid = 1;
1064      va_start(args, pattern);
1065 <    dbuf_put(uid_buffer, ":%s KILL %s :", me.id, ID(source_p));
1065 >    dbuf_put_fmt(uid_buffer, ":%s KILL %s :", me.id, ID(source_p));
1066      send_format(uid_buffer, pattern, args);
1067      va_end(args);
1068    }
1069  
1070    va_start(args, pattern);
1071 <  dbuf_put(nick_buffer, ":%s KILL %s :", me.name, source_p->name);
1071 >  dbuf_put_fmt(nick_buffer, ":%s KILL %s :", me.name, source_p->name);
1072    send_format(nick_buffer, pattern, args);
1073    va_end(args);
1074  

Diff Legend

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