diff options
-rw-r--r-- | src/cmd_invite.cpp | 11 | ||||
-rw-r--r-- | src/cmd_ison.cpp | 17 | ||||
-rw-r--r-- | src/cmd_join.cpp | 6 |
3 files changed, 20 insertions, 14 deletions
diff --git a/src/cmd_invite.cpp b/src/cmd_invite.cpp index 07559a082..bd2123311 100644 --- a/src/cmd_invite.cpp +++ b/src/cmd_invite.cpp @@ -43,6 +43,8 @@ extern std::vector<ircd_module*> factory; void cmd_invite::Handle (char **parameters, int pcnt, userrec *user) { + int MOD_RESULT = 0; + if (pcnt == 2) { userrec* u = Find(parameters[0]); @@ -70,20 +72,23 @@ void cmd_invite::Handle (char **parameters, int pcnt, userrec *user) return; } } + if (c->HasUser(u)) { WriteServ(user->fd,"443 %s %s %s :Is already on channel %s",user->nick,u->nick,c->name,c->name); return; } + if ((IS_LOCAL(user)) && (!c->HasUser(user))) { WriteServ(user->fd,"442 %s %s :You're not on that channel!",user->nick, c->name); return; } - int MOD_RESULT = 0; FOREACH_RESULT(I_OnUserPreInvite,OnUserPreInvite(user,u,c)); - if (MOD_RESULT == 1) { + + if (MOD_RESULT == 1) + { return; } @@ -105,5 +110,3 @@ void cmd_invite::Handle (char **parameters, int pcnt, userrec *user) WriteServ(user->fd,"347 %s :End of INVITE list",user->nick); } } - - diff --git a/src/cmd_ison.cpp b/src/cmd_ison.cpp index 8d0c239cc..e7256b2a2 100644 --- a/src/cmd_ison.cpp +++ b/src/cmd_ison.cpp @@ -36,18 +36,23 @@ using namespace std; void cmd_ison::Handle (char **parameters, int pcnt, userrec *user) { - char Return[MAXBUF]; - snprintf(Return,MAXBUF,"303 %s :",user->nick); + char retbuf[MAXBUF]; + userrec *u; + + snprintf(retbuf, MAXBUF, "303 %s :", user->nick); + for (int i = 0; i < pcnt; i++) { - userrec *u = Find(parameters[i]); + u = Find(parameters[i]); + if (u) { - strlcat(Return,u->nick,MAXBUF); - charlcat(Return,' ',MAXBUF); + strlcat(retbuf, u->nick, MAXBUF); + charlcat(retbuf, ' ', MAXBUF); } } - WriteServ(user->fd,Return); + + WriteServ(user->fd, retbuf); } diff --git a/src/cmd_join.cpp b/src/cmd_join.cpp index 883f35213..159e38390 100644 --- a/src/cmd_join.cpp +++ b/src/cmd_join.cpp @@ -46,14 +46,12 @@ extern InspIRCd* ServerInstance; void cmd_join::Handle (char **parameters, int pcnt, userrec *user) { - chanrec* Ptr; - - if (ServerInstance->Parser->LoopCall(this,parameters,pcnt,user,0,0,1)) + if (ServerInstance->Parser->LoopCall(this, parameters, pcnt, user, 0, 0, 1)) return; if (IsValidChannelName(parameters[0])) { - Ptr = add_channel(user,parameters[0],parameters[1],false); + add_channel(user, parameters[0], parameters[1], false); } else { |