ngircd

Free, portable and lightweight Internet Relay Chat server http://ngircd.barton.de/
Log | Files | Refs | README | LICENSE

commit 4693226d6983b5ed4bd74b32a8daa9a3124ed17c
parent afb59ab8e5ccf5d48c78dab53e8ec64d21829a8d
Author: Alexander Barton <alex@barton.de>
Date:   Mon,  4 Jan 2016 20:37:13 +0100

Get rid of unclever assert() in Send_Message_Mask()

Either we use assert() to _guarantee_ a certain condition, or we use
if(...) to test for it. But never both.

So get rid of the assert() in Send_Message_Mask() and handle the case
that the target mask doesn't contain a dot (".") as regular error,
don't require the caller to assure that any more.

This polishes commit 5a312824.

Please note:
The test in Send_Message() is still _required_ to detect whether the
target is a channel (no dot) or a "target mask" (at least one dot)!

Diffstat:
Msrc/ngircd/irc.c | 5+----
1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/src/ngircd/irc.c b/src/ngircd/irc.c @@ -744,10 +744,7 @@ Send_Message_Mask(CLIENT * from, char * command, char * targetMask, * dot (".") and no wildcards ("*", "?") following the last one. */ check_wildcards = strrchr(targetMask, '.'); - assert(check_wildcards != NULL); - if (check_wildcards && - check_wildcards[strcspn(check_wildcards, "*?")]) - { + if (!check_wildcards || check_wildcards[strcspn(check_wildcards, "*?")]) { if (!SendErrors) return true; return IRC_WriteErrClient(from, ERR_WILDTOPLEVEL, targetMask);