]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_spanningtree.cpp
Improved strhashcomp with no allocations
[user/henk/code/inspircd.git] / src / modules / m_spanningtree.cpp
index bb97d2b055a365222e529d8c1edd0f4760d20f2c..177ef2123827b4ea48311f53d91a25b709f6ebe4 100644 (file)
@@ -1109,13 +1109,25 @@ class TreeSocket : public InspSocket
                clientlist[tempnick]->registered = 7;
                clientlist[tempnick]->signon = age;
                strlcpy(clientlist[tempnick]->modes, modes.c_str(),53);
+               for (char *v = clientlist[tempnick]->modes; *v; v++)
+               {
+                       switch (*v)
+                       {
+                               case 'i':
+                                       clientlist[tempnick]->modebits |= UM_INVISIBLE;
+                               break;
+                               case 'w':
+                                       clientlist[tempnick]->modebits |= UM_WALLOPS;
+                               break;
+                               case 's':
+                                       clientlist[tempnick]->modebits |= UM_SERVERNOTICE;
+                               break;
+                               default:
+                               break;
+                       }
+               }
                inet_aton(params[6].c_str(),&clientlist[tempnick]->ip4);
 
-               ucrec a;
-               a.channel = NULL;
-               a.uc_modes = 0;
-               clientlist[tempnick]->chans.resize(MAXCHANS);
-
                WriteOpers("*** Client connecting at %s: %s!%s@%s [%s]",clientlist[tempnick]->server,clientlist[tempnick]->nick,clientlist[tempnick]->ident,clientlist[tempnick]->host,(char*)inet_ntoa(clientlist[tempnick]->ip4));
 
                params[7] = ":" + params[7];