diff options
-rw-r--r-- | src/cmd_kick.cpp | 19 | ||||
-rw-r--r-- | src/cmd_nick.cpp | 7 | ||||
-rw-r--r-- | src/cmd_quit.cpp | 13 | ||||
-rw-r--r-- | src/cmd_stats.cpp | 4 | ||||
-rw-r--r-- | src/cmd_whowas.cpp | 6 | ||||
-rw-r--r-- | src/message.cpp | 18 |
6 files changed, 25 insertions, 42 deletions
diff --git a/src/cmd_kick.cpp b/src/cmd_kick.cpp index 1a3138ed7..5c272112c 100644 --- a/src/cmd_kick.cpp +++ b/src/cmd_kick.cpp @@ -41,39 +41,32 @@ using namespace std; void cmd_kick::Handle (char **parameters, int pcnt, userrec *user) { + char reason[MAXKICK]; + chanrec* Ptr = FindChan(parameters[0]); userrec* u = Find(parameters[1]); - if ((!u) || (!Ptr)) + if (!u || !Ptr) { WriteServ(user->fd,"401 %s %s :No such nick/channel",user->nick, u ? parameters[0] : parameters[1]); return; } - if ((IS_LOCAL(user)) && (!has_channel(user,Ptr)) && (!is_uline(user->server))) { WriteServ(user->fd,"442 %s %s :You're not on that channel!",user->nick, parameters[0]); return; } - - char reason[MAXBUF]; - + if (pcnt > 2) { - strlcpy(reason,parameters[2],MAXBUF); - if (strlen(reason)>MAXKICK) - { - reason[MAXKICK-1] = '\0'; - } - + strlcpy(reason,parameters[2],MAXKICK-1); kick_channel(user,u,Ptr,reason); } else { - strlcpy(reason,user->nick,MAXBUF); + strlcpy(reason,user->nick,MAXKICK-1); kick_channel(user,u,Ptr,reason); } - } diff --git a/src/cmd_nick.cpp b/src/cmd_nick.cpp index 518d600f1..3f6085362 100644 --- a/src/cmd_nick.cpp +++ b/src/cmd_nick.cpp @@ -115,12 +115,9 @@ void cmd_nick::Handle (char **parameters, int pcnt, userrec *user) } else { - if (strlen(parameters[0]) > 1) + if ((*parameters[0] == ':') && (*(parameters[0]+1) != 0)) { - if (parameters[0][0] == ':') - { - *parameters[0]++; - } + parameters[0]++; } if (matches_qline(parameters[0])) { diff --git a/src/cmd_quit.cpp b/src/cmd_quit.cpp index 42077e743..50166ffd9 100644 --- a/src/cmd_quit.cpp +++ b/src/cmd_quit.cpp @@ -72,16 +72,13 @@ void cmd_quit::Handle (char **parameters, int pcnt, userrec *user) /* theres more to do here, but for now just close the socket */ if (pcnt == 1) { - if (parameters[0][0] == ':') - { - *parameters[0]++; - } + if (*parameters[0] == ':') + parameters[0]++; + reason = parameters[0]; - if (strlen(reason)>MAXQUIT) - { - reason[MAXQUIT-1] = '\0'; - } + if (strlen(reason) > MAXQUIT) + reason[MAXQUIT-1] = 0; /* We should only prefix the quit for a local user. Remote users have * already been prefixed, where neccessary, by the upstream server. diff --git a/src/cmd_stats.cpp b/src/cmd_stats.cpp index d784b02f6..f6ab7d996 100644 --- a/src/cmd_stats.cpp +++ b/src/cmd_stats.cpp @@ -78,10 +78,10 @@ void cmd_stats::Handle (char **parameters, int pcnt, userrec *user) { return; } - if (strlen(parameters[0])>1) + if (parameters[0][1]) { /* make the stats query 1 character long */ - parameters[0][1] = '\0'; + parameters[0][1] = 0; } if ((*Config->OperOnlyStats) && (strchr(Config->OperOnlyStats,*parameters[0])) && (!*user->oper)) diff --git a/src/cmd_whowas.cpp b/src/cmd_whowas.cpp index 10d0eeb7e..19898bdea 100644 --- a/src/cmd_whowas.cpp +++ b/src/cmd_whowas.cpp @@ -76,11 +76,11 @@ void cmd_whowas::Handle (char **parameters, int pcnt, userrec* user) time_t rawtime = i->second->signon; tm *timeinfo; char b[MAXBUF]; - + timeinfo = localtime(&rawtime); strlcpy(b,asctime(timeinfo),MAXBUF); - b[strlen(b)-1] = '\0'; - + b[24] = 0; + WriteServ(user->fd,"314 %s %s %s %s * :%s",user->nick,i->second->nick,i->second->ident,i->second->dhost,i->second->fullname); WriteServ(user->fd,"312 %s %s %s :%s",user->nick,i->second->nick, *Config->HideWhoisServer ? Config->HideWhoisServer : i->second->server,b); WriteServ(user->fd,"369 %s %s :End of WHOWAS",user->nick,parameters[0]); diff --git a/src/message.cpp b/src/message.cpp index 0e9d7e8e7..3d98c500a 100644 --- a/src/message.cpp +++ b/src/message.cpp @@ -68,7 +68,7 @@ int common_channels(userrec *u, userrec *u2) { if ((u->chans[i].channel != NULL) && (u2->chans[z].channel != NULL)) { - if ((!strcasecmp(u->chans[i].channel->name,u2->chans[z].channel->name)) && (u->chans[i].channel) && (u2->chans[z].channel) && (u->registered == 7) && (u2->registered == 7)) + if ((u->chans[i].channel == u2->chans[z].channel) && (u->chans[i].channel) && (u2->chans[z].channel) && (u->registered == 7) && (u2->registered == 7)) { if ((c_count(u)) && (c_count(u2))) { @@ -157,17 +157,13 @@ void chop(char* str) void Blocking(int s) { - int flags; - log(DEBUG,"Blocking: %d",s); - flags = fcntl(s, F_GETFL, 0); + int flags = fcntl(s, F_GETFL, 0); fcntl(s, F_SETFL, flags ^ O_NONBLOCK); } void NonBlocking(int s) { - int flags; - log(DEBUG,"NonBlocking: %d",s); - flags = fcntl(s, F_GETFL, 0); + int flags = fcntl(s, F_GETFL, 0); fcntl(s, F_SETFL, flags | O_NONBLOCK); } @@ -296,7 +292,7 @@ char* cmode(userrec *user, chanrec *chan) { if (user->chans[i].channel) { - if ((!strcasecmp(user->chans[i].channel->name,chan->name)) && (chan != NULL)) + if ((user->chans[i].channel == chan) && (chan != NULL)) { if ((user->chans[i].uc_modes & UCMODE_OP) > 0) { @@ -326,7 +322,7 @@ int cflags(userrec *user, chanrec *chan) { if (user->chans[i].channel) { - if ((!strcasecmp(user->chans[i].channel->name,chan->name)) && (chan != NULL)) + if ((user->chans[i].channel == chan) && (chan != NULL)) { return user->chans[i].uc_modes; } @@ -354,7 +350,7 @@ int cstatus(userrec *user, chanrec *chan) { if (user->chans[i].channel) { - if ((!strcasecmp(user->chans[i].channel->name,chan->name)) && (chan != NULL)) + if ((user->chans[i].channel == chan) && (chan != NULL)) { if ((user->chans[i].uc_modes & UCMODE_OP) > 0) { @@ -388,7 +384,7 @@ int has_channel(userrec *u, chanrec *c) { if (u->chans[i].channel) { - if (!strcasecmp(u->chans[i].channel->name,c->name)) + if (u->chans[i].channel == c) { return 1; } |