summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/modules/m_spanningtree.cpp37
1 files changed, 19 insertions, 18 deletions
diff --git a/src/modules/m_spanningtree.cpp b/src/modules/m_spanningtree.cpp
index 052845d6c..bc375bf23 100644
--- a/src/modules/m_spanningtree.cpp
+++ b/src/modules/m_spanningtree.cpp
@@ -497,6 +497,7 @@ class TreeSocket : public InspSocket
if (params.size() < 2)
return true;
+ log(DEBUG,"FORCEJOIN *** PARAMS = %d",params.size());
char first[MAXBUF];
char modestring[MAXBUF];
char* mode_users[127];
@@ -518,27 +519,27 @@ class TreeSocket : public InspSocket
// process one channel at a time, applying modes.
char* usr = (char*)params[usernum].c_str();
char permissions = *usr;
+ switch (permissions)
+ {
+ case '@':
+ usr++;
+ mode_users[modectr++] = usr;
+ strlcat(modestring,"o",MAXBUF);
+ break;
+ case '%':
+ usr++;
+ mode_users[modectr++] = usr;
+ strlcat(modestring,"h",MAXBUF);
+ break;
+ case '+':
+ usr++;
+ mode_users[modectr++] = usr;
+ strlcat(modestring,"v",MAXBUF);
+ break;
+ }
userrec* who = Srv->FindNick(usr);
if (who)
{
- switch (permissions)
- {
- case '@':
- usr++;
- mode_users[modectr++] = usr;
- strlcat(modestring,"o",MAXBUF);
- break;
- case '%':
- usr++;
- mode_users[modectr++] = usr;
- strlcat(modestring,"h",MAXBUF);
- break;
- case '+':
- usr++;
- mode_users[modectr++] = usr;
- strlcat(modestring,"v",MAXBUF);
- break;
- }
Srv->JoinUserToChannel(who,channel,key);
if (modectr >= (MAXMODES-1))
{