summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/botserv.c31
1 files changed, 17 insertions, 14 deletions
diff --git a/src/botserv.c b/src/botserv.c
index b2cec855e..040de4881 100644
--- a/src/botserv.c
+++ b/src/botserv.c
@@ -295,7 +295,7 @@ void botchanmsgs(User * u, ChannelInfo * ci, char *buf)
} else if (bw->type == BW_SINGLE) {
int len = strlen(bw->word);
- if ((BSCaseSensitive && strstr(nbuf, bw->word))
+ if ((BSCaseSensitive && !strcmp(nbuf, bw->word))
|| (!BSCaseSensitive
&& (!stricmp(nbuf, bw->word)))) {
mustkick = 1;
@@ -303,12 +303,12 @@ void botchanmsgs(User * u, ChannelInfo * ci, char *buf)
} else if ((strchr(nbuf, ' ') == nbuf + len)
&&
((BSCaseSensitive
- && (strstr(nbuf, bw->word) == nbuf))
+ && !strcmp(nbuf, bw->word))
|| (!BSCaseSensitive
&& (stristr(nbuf, bw->word) ==
nbuf)))) {
mustkick = 1;
- } else
+ } else {
if ((strrchr(nbuf, ' ') ==
nbuf + strlen(nbuf) - len - 1)
&&
@@ -318,19 +318,22 @@ void botchanmsgs(User * u, ChannelInfo * ci, char *buf)
|| (!BSCaseSensitive
&& (stristr(nbuf, bw->word) ==
nbuf + strlen(nbuf) - len)))) {
- mustkick = 1;
- } else {
- char *wordbuf = scalloc(len + 3, 1);
+ mustkick = 1;
+ } else {
+ char *wordbuf = scalloc(len + 3, 1);
- wordbuf[0] = ' ';
- wordbuf[len + 1] = ' ';
- wordbuf[len + 2] = '\0';
- memcpy(wordbuf + 1, bw->word, len);
+ wordbuf[0] = ' ';
+ wordbuf[len + 1] = ' ';
+ wordbuf[len + 2] = '\0';
+ memcpy(wordbuf + 1, bw->word, len);
- if ((BSCaseSensitive && (strstr(nbuf, wordbuf)))
- || (!BSCaseSensitive
- && (stristr(nbuf, wordbuf))))
- mustkick = 1;
+ if ((BSCaseSensitive
+ && (strstr(nbuf, wordbuf)))
+ || (!BSCaseSensitive
+ && (stristr(nbuf, wordbuf)))) {
+ mustkick = 1;
+ }
+ }
}
} else if (bw->type == BW_START) {
int len = strlen(bw->word);