]> jfr.im git - irc/rqf/shadowircd.git/blobdiff - modules/core/m_join.c
Remove some unused variables.
[irc/rqf/shadowircd.git] / modules / core / m_join.c
index e9f092d2c9cbda24c35495403231f125822c1fcf..f8598d7d10898429c9ef4f4fa98f32b53d7fdf35 100644 (file)
@@ -990,27 +990,36 @@ do_join_0(struct Client *client_p, struct Client *source_p)
 static int
 check_channel_name_loc(struct Client *source_p, const char *name)
 {
+       const char *p;
+
        s_assert(name != NULL);
        if(EmptyString(name))
                return 0;
 
        if(ConfigFileEntry.disable_fake_channels && !IsOper(source_p))
        {
-               for(; *name; ++name)
+               for(p = name; *p; ++p)
                {
-                       if(!IsChanChar(*name) || IsFakeChanChar(*name))
+                       if(!IsChanChar(*p) || IsFakeChanChar(*p))
                                return 0;
                }
        }
        else
        {
-               for(; *name; ++name)
+               for(p = name; *p; ++p)
                {
-                       if(!IsChanChar(*name))
+                       if(!IsChanChar(*p))
                                return 0;
                }
        }
 
+       if(ConfigChannel.only_ascii_channels)
+       {
+               for(p = name; *p; ++p)
+                       if(*p < 33 || *p > 126)
+                               return 0;
+       }
+
        return 1;
 }