about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorAlexander Barton <alex@barton.de>2012-01-16 12:37:37 +0100
committerAlexander Barton <alex@barton.de>2012-01-16 12:37:37 +0100
commitc1656256df687c4a093ceb502de84bf4b0447f3c (patch)
tree233f7f9af1943934fb80a7bbc2c4da8885b101bd /src
parent1f4711a5474d2f0ea4664bd9b54f036af11f96cd (diff)
downloadngircd-c1656256df687c4a093ceb502de84bf4b0447f3c.tar.gz
ngircd-c1656256df687c4a093ceb502de84bf4b0447f3c.zip
PRIVMSG/NOTICE: don't stop list processing on invalid target
Process further targets, even if one has been a server ID:
just skip this one with an error message and continue.
Diffstat (limited to 'src')
-rw-r--r--src/ngircd/irc.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/ngircd/irc.c b/src/ngircd/irc.c
index 2b94e33a..5af79396 100644
--- a/src/ngircd/irc.c
+++ b/src/ngircd/irc.c
@@ -469,11 +469,11 @@ Send_Message(CLIENT * Client, REQUEST * Req, int ForceType, bool SendErrors)
 #else
 			if (Client_Type(cl) != ForceType) {
 #endif
-				if (!SendErrors)
-					return CONNECTED;
-				return IRC_WriteStrClient(from, ERR_NOSUCHNICK_MSG,
-							  Client_ID(from),
-							  currentTarget);
+				if (SendErrors && !IRC_WriteStrClient(
+				    from, ERR_NOSUCHNICK_MSG,Client_ID(from),
+				    currentTarget))
+					return DISCONNECTED;
+				goto send_next_target;
 			}
 
 #ifndef STRICT_RFC