Changeset 298 in code for trunk/downstream.go
- Timestamp:
- May 27, 2020, 9:43:46 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/downstream.go
r297 r298 1221 1221 pendingCommands: make(map[int64]*irc.Message), 1222 1222 } 1223 var upstream *upstreamConn 1223 1224 var upstreamChannels map[int64][]string 1224 1225 if len(msg.Params) > 0 { 1225 upstreamChannels = make(map[int64][]string) 1226 channels := strings.Split(msg.Params[0], ",") 1227 for _, channel := range channels { 1228 uc, upstreamChannel, err := dc.unmarshalEntity(channel) 1229 if err != nil { 1230 return err 1226 uc, upstreamMask, err := dc.unmarshalEntity(msg.Params[0]) 1227 if err == nil && upstreamMask == "*" { // LIST */network: send LIST only to one network 1228 upstream = uc 1229 } else { 1230 upstreamChannels = make(map[int64][]string) 1231 channels := strings.Split(msg.Params[0], ",") 1232 for _, channel := range channels { 1233 uc, upstreamChannel, err := dc.unmarshalEntity(channel) 1234 if err != nil { 1235 return err 1236 } 1237 upstreamChannels[uc.network.ID] = append(upstreamChannels[uc.network.ID], upstreamChannel) 1231 1238 } 1232 upstreamChannels[uc.network.ID] = append(upstreamChannels[uc.network.ID], upstreamChannel)1233 1239 } 1234 1240 } … … 1236 1242 dc.user.pendingLISTs = append(dc.user.pendingLISTs, pl) 1237 1243 dc.forEachUpstream(func(uc *upstreamConn) { 1244 if upstream != nil && upstream != uc { 1245 return 1246 } 1238 1247 var params []string 1239 1248 if upstreamChannels != nil {
Note:
See TracChangeset
for help on using the changeset viewer.