Commit Diff


commit - e9e7fc33f15d7ead5f547ebdfcc7836b75f54f83
commit + 2d4361d088f75bdcbc0deced824e2b3aafbb8fa0
blob - 4a8b6283a4f8136d27a4e23f0cc1629a7e7e3f85
blob + 71f5760bd59dede7c58903f6bd98a41c8a262c06
--- src/ngircd/conf.c
+++ src/ngircd/conf.c
@@ -40,6 +40,7 @@
 #include "ngircd.h"
 #include "conn.h"
 #include "client.h"
+#include "channel.h"
 #include "defines.h"
 #include "log.h"
 #include "match.h"
@@ -1169,10 +1170,11 @@ Handle_Channelname(struct Conf_Channel *new_chan, cons
 	size_t size = sizeof(new_chan->name);
 	char *dest = new_chan->name;
 
-	/* Channels names must begin with "&" or "#", if it is
-	 * missing, add a '#'. This is only here for user convenience.
-	 */
-	if (*name && *name != '#' && *name != '&') {
+	if (!Channel_IsValidName(name)) {
+		/*
+		 * maybe user forgot to add a '#'.
+		 * This is only here for user convenience.
+		 */
 		*dest = '#';
 		--size;
 		++dest;