Changeset 74 in code for trunk/upstream.go


Ignore:
Timestamp:
Mar 4, 2020, 2:45:14 PM (5 years ago)
Author:
contact
Message:

Fix TOPIC parsing, broadcast to downstream clients

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/upstream.go

    r73 r74  
    274274        case "TOPIC":
    275275                var name string
    276                 if err := parseMessageParams(msg, nil, &name); err != nil {
     276                if err := parseMessageParams(msg, &name); err != nil {
    277277                        return err
    278278                }
     
    286286                        ch.Topic = ""
    287287                }
     288                uc.forEachDownstream(func(dc *downstreamConn) {
     289                        params := []string{dc.marshalChannel(uc, name)}
     290                        if ch.Topic != "" {
     291                                params = append(params, ch.Topic)
     292                        }
     293                        dc.SendMessage(&irc.Message{
     294                                Prefix:  dc.marshalUserPrefix(uc, msg.Prefix),
     295                                Command: "TOPIC",
     296                                Params:  params,
     297                        })
     298                })
    288299        case rpl_topicwhotime:
    289300                var name, who, timeStr string
Note: See TracChangeset for help on using the changeset viewer.