summary refs log tree commit diff
diff options
context:
space:
mode:
authorAlexander Barton <alex@barton.de>2016-01-04 20:37:13 +0100
committerAlexander Barton <alex@barton.de>2016-01-04 20:37:13 +0100
commit4693226d6983b5ed4bd74b32a8daa9a3124ed17c (patch)
treea67122dbe55ff5c0899884c82e2bbf3f0e91b55f
parentafb59ab8e5ccf5d48c78dab53e8ec64d21829a8d (diff)
downloadngircd-4693226d6983b5ed4bd74b32a8daa9a3124ed17c.tar.gz
ngircd-4693226d6983b5ed4bd74b32a8daa9a3124ed17c.zip
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)!
-rw-r--r--src/ngircd/irc.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/src/ngircd/irc.c b/src/ngircd/irc.c
index ad8c0506..e990cfd7 100644
--- 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);