diff --git a/client/handlers.go b/client/handlers.go index f0a582e..89d6312 100644 --- a/client/handlers.go +++ b/client/handlers.go @@ -220,7 +220,7 @@ func (conn *Conn) h_352(line *Line) { // XXX: do we care about the actual server the nick is on? // or the hop count to this server? // last arg contains " " - a := strings.Split(line.Args[len(line.Args)-1], " ", 2) + a := strings.SplitN(line.Args[len(line.Args)-1], " ", 2) n.Name = a[1] if idx := strings.Index(line.Args[6], "*"); idx != -1 { n.Modes.Oper = true @@ -236,7 +236,7 @@ func (conn *Conn) h_352(line *Line) { // Handle 353 names reply func (conn *Conn) h_353(line *Line) { if ch := conn.GetChannel(line.Args[2]); ch != nil { - nicks := strings.Split(line.Args[len(line.Args)-1], " ", -1) + nicks := strings.Split(line.Args[len(line.Args)-1], " ") for _, nick := range nicks { // UnrealIRCd's coders are lazy and leave a trailing space if nick == "" { diff --git a/client/line.go b/client/line.go index e2509ed..cf77b3d 100644 --- a/client/line.go +++ b/client/line.go @@ -49,7 +49,7 @@ func parseLine(s string) *Line { // now we're here, we've parsed a :nick!user@host or :server off // s should contain "cmd args[] :text" - args := strings.Split(s, " :", 2) + args := strings.SplitN(s, " :", 2) if len(args) > 1 { args = append(strings.Fields(args[0]), args[1]) } else { diff --git a/event/registry_test.go b/event/registry_test.go index abc1744..921c145 100644 --- a/event/registry_test.go +++ b/event/registry_test.go @@ -66,7 +66,7 @@ func TestParallelDispatch(t *testing.T) { func TestSerialDispatch(t *testing.T) { r := NewRegistry() - r.Serial() + r.(*registry).Serial() // ensure we have enough of a buffer that all sends complete out := make(chan int, 5) // handler factory :-)