]> jfr.im git - solanum.git/blobdiff - ircd/supported.c
Correct order of chunking and encoding steps.
[solanum.git] / ircd / supported.c
index 0b4505d22a2dc9f1240f512bbb66a2aee69e7293..4aa653ecdfe1bb295cc11952dabe63082eba7c71 100644 (file)
@@ -1,5 +1,5 @@
 /*
- *  charybdis: A slightly useful ircd.
+ *  Solanum: a slightly advanced ircd
  *  supported.c: isupport (005) numeric
  *
  * Copyright (C) 2006 Jilles Tjoelker
@@ -223,7 +223,7 @@ isupport_stringptr(const void *ptr)
        return *(char * const *)ptr;
 }
 
-static const char *
+const char *
 isupport_umode(const void *ptr)
 {
        const char *str;
@@ -236,7 +236,7 @@ isupport_umode(const void *ptr)
 static const char *
 isupport_chanmodes(const void *ptr)
 {
-       static char result[80];
+       static char result[300];
 
        snprintf(result, sizeof result, "%s%sbq,k,%slj,%s",
                        ConfigChannel.use_except ? "e" : "",
@@ -249,7 +249,7 @@ isupport_chanmodes(const void *ptr)
 static const char *
 isupport_chanlimit(const void *ptr)
 {
-       static char result[30];
+       static char result[BUFSIZE + 30];
 
        snprintf(result, sizeof result, "%s:%i", allowed_chantypes, ConfigChannel.max_chans_per_user);
        return result;
@@ -308,7 +308,7 @@ init_isupport(void)
        static int topiclen = TOPICLEN;
        static int maxnicklen = NICKLEN - 1;
 
-       add_isupport("CHANTYPES", isupport_stringptr, &allowed_chantypes);
+       add_isupport("CHANTYPES", isupport_stringallowed_chantypes);
        add_isupport("EXCEPTS", isupport_boolean, &ConfigChannel.use_except);
        add_isupport("INVEX", isupport_boolean, &ConfigChannel.use_invex);
        add_isupport("CHANMODES", isupport_chanmodes, NULL);
@@ -318,7 +318,6 @@ init_isupport(void)
        add_isupport("MODES", isupport_intptr, &maxmodes);
        add_isupport("NETWORK", isupport_stringptr, &ServerInfo.network_name);
        add_isupport("STATUSMSG", isupport_string, "@+");
-       add_isupport("CALLERID", isupport_umode, "g");
        add_isupport("CASEMAPPING", isupport_string, "rfc1459");
        add_isupport("NICKLEN", isupport_nicklen, NULL);
        add_isupport("MAXNICKLEN", isupport_intptr, &maxnicklen);
@@ -327,7 +326,6 @@ init_isupport(void)
        add_isupport("DEAF", isupport_umode, "D");
        add_isupport("TARGMAX", isupport_targmax, NULL);
        add_isupport("EXTBAN", isupport_extban, NULL);
-       add_isupport("CLIENTVER", isupport_string, "3.0");
 }
 
 void