From 2aa61b0dbef341b87d28f288905dcfea6c8b0486 Mon Sep 17 00:00:00 2001 From: Jeremy Latt Date: Wed, 12 Feb 2014 18:27:36 -0800 Subject: [PATCH] clean up and fix targets for quit message --- irc/server.go | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/irc/server.go b/irc/server.go index 2c69a8d3..7b6b073c 100644 --- a/irc/server.go +++ b/irc/server.go @@ -266,20 +266,22 @@ func (m *UserMsgCommand) HandleServer(s *Server) { s.tryRegister(c) } -func (m *QuitCommand) HandleServer(s *Server) { - c := m.Client() +func (m *QuitCommand) HandleServer(server *Server) { + client := m.Client() + iclients := client.InterestedClients() + iclients.Remove(client) - s.clients.Remove(c) - for channel := range c.channels { - channel.members.Remove(c) + server.clients.Remove(client) + for channel := range client.channels { + channel.members.Remove(client) } - c.Reply(RplError(s, c)) - c.Destroy() + client.Reply(RplError(server, client)) + client.Destroy() - reply := RplQuit(c, m.message) - for client := range c.InterestedClients() { - client.Reply(reply) + reply := RplQuit(client, m.message) + for iclient := range iclients { + iclient.Reply(reply) } }