X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fcmd_names.cpp;h=ca0ded5493748fd3966aa65face18cc1995c2cc6;hb=922d4ebf7a27a6577d6b4f91e0f42ccdfa989455;hp=e2effdcf6944549848dfb13f823866c641c914fa;hpb=1383dba43e463f292aea094d01f62f355946049d;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/cmd_names.cpp b/src/cmd_names.cpp index e2effdcf6..ca0ded549 100644 --- a/src/cmd_names.cpp +++ b/src/cmd_names.cpp @@ -14,55 +14,15 @@ * --------------------------------------------------- */ -using namespace std; - -#include "inspircd_config.h" #include "inspircd.h" -#include "inspircd_io.h" -#include -#include -#ifdef GCC3 -#include -#else -#include -#endif -#include -#include -#include -#include #include "users.h" -#include "ctables.h" -#include "globals.h" -#include "modules.h" -#include "dynamic.h" -#include "wildcard.h" -#include "message.h" #include "commands.h" -#include "mode.h" -#include "xline.h" -#include "inspstring.h" -#include "dnsqueue.h" #include "helperfuncs.h" -#include "hashcomp.h" -#include "socketengine.h" -#include "typedefs.h" -#include "command_parse.h" -#include "cmd_names.h" +#include "commands/cmd_names.h" -extern ServerConfig* Config; extern InspIRCd* ServerInstance; -extern int MODCOUNT; -extern std::vector modules; -extern std::vector factory; -extern time_t TIME; -extern user_hash clientlist; -extern chan_hash chanlist; -extern whowas_hash whowas; -extern std::vector all_opers; -extern std::vector local_users; -extern userrec* fd_ref_table[MAX_DESCRIPTORS]; -void cmd_names::Handle (char **parameters, int pcnt, userrec *user) +void cmd_names::Handle (const char** parameters, int pcnt, userrec *user) { chanrec* c; @@ -72,16 +32,17 @@ void cmd_names::Handle (char **parameters, int pcnt, userrec *user) return; } - if (ServerInstance->Parser->LoopCall(this,parameters,pcnt,user,0,pcnt-1,0)) + if (ServerInstance->Parser->LoopCall(user, this, parameters, pcnt, 0)) return; + c = FindChan(parameters[0]); if (c) { - if (((c) && (!has_channel(user,c))) && (c->binarymodes & CM_SECRET)) - { - WriteServ(user->fd,"401 %s %s :No such nick/channel",user->nick, c->name); - return; - } + if ((c->modes[CM_SECRET]) && (!c->HasUser(user))) + { + WriteServ(user->fd,"401 %s %s :No such nick/channel",user->nick, c->name); + return; + } userlist(user,c); WriteServ(user->fd,"366 %s %s :End of /NAMES list.", user->nick, c->name); } @@ -90,5 +51,3 @@ void cmd_names::Handle (char **parameters, int pcnt, userrec *user) WriteServ(user->fd,"401 %s %s :No such nick/channel",user->nick, parameters[0]); } } - -