Commit Diff


commit - 8f46681bc86162936ffdf56d7f534221ba20fbf5
commit + 95e8320ca99eb9546102d10a329d708458257c56
blob - 47f86528004d24a009504076108ded7fc7b2f8c6
blob + e5f5bbd5ddeab864b153533fa36336f5cb5d009d
--- src/ngircd/irc.c
+++ src/ngircd/irc.c
@@ -466,6 +466,12 @@ Send_Message(CLIENT * Client, REQUEST * Req, int Force
 						      Req->command, Client_ID(cl),
 						      Req->argv[1]))
 				return DISCONNECTED;
+		} else if (ForceType != CLIENT_SERVICE
+			   && (chan = Channel_Search(currentTarget))) {
+			/* channel */
+			if (!Channel_Write(chan, from, Client, Req->command,
+					   SendErrors, Req->argv[1]))
+					return DISCONNECTED;
 		} else if (ForceType != CLIENT_SERVICE
 			   && strchr("$#", currentTarget[0])
 			   && strchr(currentTarget, '.')) {
@@ -473,12 +479,6 @@ Send_Message(CLIENT * Client, REQUEST * Req, int Force
 			if (!Send_Message_Mask(from, Req->command, currentTarget,
 					       Req->argv[1], SendErrors))
 				return DISCONNECTED;
-		} else if (ForceType != CLIENT_SERVICE
-			   && (chan = Channel_Search(currentTarget))) {
-			/* channel */
-			if (!Channel_Write(chan, from, Client, Req->command,
-					   SendErrors, Req->argv[1]))
-					return DISCONNECTED;
 		} else {
 			if (!SendErrors)
 				return CONNECTED;