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

Comparing ircd-hybrid/trunk/src/send.c (file contents):
Revision 3803 by michael, Tue Jun 3 18:24:31 2014 UTC vs.
Revision 4213 by michael, Mon Jul 14 09:26:05 2014 UTC

# Line 283 | Line 283 | send_queued_all(void)
283    /* Servers are processed first, mainly because this can generate
284     * a notice to opers, which is to be delivered by this function.
285     */
286 <  DLINK_FOREACH(ptr, serv_list.head)
286 >  DLINK_FOREACH(ptr, local_server_list.head)
287      send_queued_write(ptr->data);
288  
289    DLINK_FOREACH(ptr, unknown_list.head)
# Line 410 | Line 410 | sendto_channel_butone(struct Client *one
410  
411    local_buf = dbuf_alloc(), remote_buf = dbuf_alloc();
412  
413 <  if (IsServer(from))
414 <    dbuf_put_fmt(local_buf, ":%s ", from->name);
415 <  else
413 >  if (IsClient(from))
414      dbuf_put_fmt(local_buf, ":%s!%s@%s ", from->name, from->username, from->host);
415 +  else
416 +    dbuf_put_fmt(local_buf, ":%s ", from->name);
417  
418    dbuf_put_fmt(remote_buf, ":%s ", from->id);
419  
# Line 486 | Line 486 | sendto_server(struct Client *one,
486    send_format(buffer, format, args);
487    va_end(args);
488  
489 <  DLINK_FOREACH(ptr, serv_list.head)
489 >  DLINK_FOREACH(ptr, local_server_list.head)
490    {
491      struct Client *client_p = ptr->data;
492  
# Line 542 | Line 542 | sendto_common_channels_local(struct Clie
542    {
543      chptr = ((struct Membership *)cptr->data)->chptr;
544  
545 <    DLINK_FOREACH(uptr, chptr->members.head)
545 >    DLINK_FOREACH(uptr, chptr->locmembers.head)
546      {
547        ms = uptr->data;
548        target_p = ms->client_p;
549  
550 <      if (!MyConnect(target_p) || target_p == user || IsDefunct(target_p) ||
550 >      if (target_p == user || IsDefunct(target_p) ||
551            target_p->localClient->serial == current_serial)
552          continue;
553  
# Line 591 | Line 591 | sendto_channel_local(unsigned int type,
591    send_format(buffer, pattern, args);
592    va_end(args);
593  
594 <  DLINK_FOREACH(ptr, chptr->members.head)
594 >  DLINK_FOREACH(ptr, chptr->locmembers.head)
595    {
596      struct Membership *ms = ptr->data;
597      struct Client *target_p = ms->client_p;
# Line 599 | Line 599 | sendto_channel_local(unsigned int type,
599      if (type && (ms->flags & type) == 0)
600        continue;
601  
602 <    if (!MyConnect(target_p) || IsDefunct(target_p) ||
602 >    if (IsDefunct(target_p) ||
603          (nodeaf && HasUMode(target_p, UMODE_DEAF)))
604        continue;
605  
# Line 635 | Line 635 | sendto_channel_local_butone(struct Clien
635    send_format(buffer, pattern, args);
636    va_end(args);
637  
638 <  DLINK_FOREACH(ptr, chptr->members.head)
638 >  DLINK_FOREACH(ptr, chptr->locmembers.head)
639    {
640      struct Membership *ms = ptr->data;
641      struct Client *target_p = ms->client_p;
# Line 643 | Line 643 | sendto_channel_local_butone(struct Clien
643      if (type && (ms->flags & type) == 0)
644        continue;
645  
646 <    if (!MyConnect(target_p) || (one && target_p == one->from))
646 >    if (one && target_p == one->from)
647        continue;
648  
649      if (IsDefunct(target_p) || HasUMode(target_p, UMODE_DEAF))
# Line 722 | Line 722 | sendto_match_butone(struct Client *one,
722    }
723  
724    /* Now scan servers */
725 <  DLINK_FOREACH_SAFE(ptr, ptr_next, serv_list.head)
725 >  DLINK_FOREACH_SAFE(ptr, ptr_next, local_server_list.head)
726    {
727      struct Client *client_p = ptr->data;
728  
# Line 773 | Line 773 | sendto_match_servs(struct Client *source
773   {
774    va_list args;
775    dlink_node *ptr = NULL, *ptr_next = NULL;
776 <  struct dbuf_block *buff_suid;
776 >  struct dbuf_block *buffer;
777  
778 <  buff_suid = dbuf_alloc();
778 >  buffer = dbuf_alloc();
779  
780 +  dbuf_put_fmt(buffer, ":%s ", source_p->id);
781    va_start(args, pattern);
782 <  dbuf_put_fmt(buff_suid, ":%s ", source_p->id);
782 <  dbuf_put_args(buff_suid, pattern, args);
782 >  send_format(buffer, pattern, args);
783    va_end(args);
784  
785    ++current_serial;
786  
787 <  DLINK_FOREACH_SAFE(ptr, ptr_next, global_serv_list.head)
787 >  DLINK_FOREACH_SAFE(ptr, ptr_next, global_server_list.head)
788    {
789      struct Client *target_p = ptr->data;
790  
# Line 806 | Line 806 | sendto_match_servs(struct Client *source
806        if (!IsCapable(target_p->from, cap))
807          continue;
808  
809 <      send_message_remote(target_p->from, source_p, buff_suid);
809 >      send_message_remote(target_p->from, source_p, buffer);
810      }
811    }
812  
813 <  dbuf_ref_free(buff_suid);
813 >  dbuf_ref_free(buffer);
814   }
815  
816   /* sendto_anywhere()

Diff Legend

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