]> git.netwichtig.de Git - user/henk/code/inspircd.git/blob - src/cmd_part.cpp
beb590ab9412e788700762471899221470aed9b2
[user/henk/code/inspircd.git] / src / cmd_part.cpp
1 /*       +------------------------------------+
2  *       | Inspire Internet Relay Chat Daemon |
3  *       +------------------------------------+
4  *
5  *  InspIRCd is copyright (C) 2002-2006 ChatSpike-Dev.
6  *                       E-mail:
7  *                <brain@chatspike.net>
8  *                <Craig@chatspike.net>
9  *
10  * Written by Craig Edwards, Craig McLure, and others.
11  * This program is free but copyrighted software; see
12  *            the file COPYING for details.
13  *
14  * ---------------------------------------------------
15  */
16
17 #include "inspircd.h"
18 #include "users.h"
19 #include "commands.h"
20 #include "helperfuncs.h"
21 #include "commands/cmd_part.h"
22
23 extern InspIRCd* ServerInstance;
24
25 void cmd_part::Handle (const char** parameters, int pcnt, userrec *user)
26 {
27         if (ServerInstance->Parser->LoopCall(user, this, parameters, pcnt, 0))
28                 return;
29
30         chanrec* c = FindChan(parameters[0]);
31         
32         if (c)
33         {
34                 if (!c->PartUser(user, pcnt > 1 ? parameters[0] : NULL))
35                         /* Arse, who stole our channel! :/ */
36                         delete c;
37         }
38         else
39         {
40                 user->WriteServ( "401 %s %s :No such channel", user->nick, parameters[0]);
41         }
42 }