From 6f1b8f50dd8a9f73c9e02e64253e7e45642a88d0 Mon Sep 17 00:00:00 2001 From: brain Date: Tue, 8 Aug 2006 12:52:24 +0000 Subject: Change to chanrec::PartUser. As with KickUser and ServerKickUser, returns the number of users left, if it returns 0, delete the chanrec git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4786 e03df62e-2008-0410-955e-edbf42e46eb7 --- src/cmd_part.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'src/cmd_part.cpp') diff --git a/src/cmd_part.cpp b/src/cmd_part.cpp index 39a962140..1b9680d5d 100644 --- a/src/cmd_part.cpp +++ b/src/cmd_part.cpp @@ -26,13 +26,17 @@ void cmd_part::Handle (const char** parameters, int pcnt, userrec *user) { if (ServerInstance->Parser->LoopCall(user, this, parameters, pcnt, 0)) return; + + chanrec* c = FindChan(parameters[0]); - if (pcnt > 1) + if (c) { - del_channel(user,parameters[0],parameters[1],false); + if (!c->PartUser(user, pcnt > 1 ? parameters[0] : NULL)) + /* Arse, who stole our channel! :/ */ + delete c; } else { - del_channel(user,parameters[0],NULL,false); + WriteServ(user->fd, "401 %s %s :No such channel", user->nick, parameters[0]); } } -- cgit v1.3.1-10-gc9f91