diff options
| author | 2005-04-16 18:58:08 +0000 | |
|---|---|---|
| committer | 2005-04-16 18:58:08 +0000 | |
| commit | 668df37516e3ee3555aa7085f10d54bda3b4e426 (patch) | |
| tree | 4fda156c1517493d0ba165ef516cb0937d2a1f88 /src/commands.cpp | |
| parent | Fixed lingering (SO_REUSEADDR was being set to 0?) (diff) | |
Added:
OnMeshToken
MeshSendAll(std::string text);
MeshSendCommon(userrec* user, std::string text);
MeshSendAllAlive(std::string text);
MeshSendUnicast(std::string destination, std::string text);
MeshSendAllExcept(std::string target, std::string text);
MeshCheckChan(chanrec *c,std::string servername);
MeshCheckCommon(userrec* u,std::string servername);
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1112 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/commands.cpp')
| -rw-r--r-- | src/commands.cpp | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/src/commands.cpp b/src/commands.cpp index 547d47536..ac5de7267 100644 --- a/src/commands.cpp +++ b/src/commands.cpp @@ -2534,6 +2534,7 @@ void handle_pipe(char token,char* params,serverrec* source,serverrec* reply, cha void process_restricted_commands(char token,char* params,serverrec* source,serverrec* reply, char* tcp_host,char* ipaddr,int port) { char buffer[MAXBUF]; + int MOD_RESULT = 0; switch(token) { @@ -2751,7 +2752,33 @@ void process_restricted_commands(char token,char* params,serverrec* source,serve break; // anything else default: - WriteOpers("WARNING! Unknown datagram type '%c'",token); + MOD_RESULT = 0; + string_list s; + char* data = strtok(params," "); + while (data) + { + if (*data == ':') + { + // the last item is a special case + data++; + char datalast[MAXBUF]; + strlcpy(datalast,data,MAXBUF); + data = strtok(NULL," "); + while (data) + { + strlcpy(datalast," ",MAXBUF); + strlcpy(datalast,data,MAXBUF); + data = strtok(NULL," "); + } + s.push_back(data); + break; + } + s.push_back(data); + data = strtok(NULL," "); + } + FOREACH_RESULT(OnMeshToken(token,s,source,reply,tcp_host,ipaddr,port)); + if (!MOD_RESULT) + WriteOpers("WARNING! Unknown datagram type '%c'",token); break; } } |
