diff options
Diffstat (limited to 'src/mode.cpp')
-rw-r--r-- | src/mode.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/mode.cpp b/src/mode.cpp index 3d25e6c06..467b3d09b 100644 --- a/src/mode.cpp +++ b/src/mode.cpp @@ -1283,6 +1283,16 @@ void handle_mode(char **parameters, int pcnt, userrec *user) WriteServ(user->fd,"368 %s %s :End of channel ban list",user->nick, Ptr->name); return; } + char* mode = parameters[1]; + if (*mode == '+') + mode++; + if ((ModeDefined(*mode,MT_CHANNEL)) && (ModeIsListMode(*mode,MT_CHANNEL))) + { + // list of items for an extmode + log(DEBUG,"Calling OnSendList for all modules, list output for mode %c",*mode); + FOREACH_MOD OnSendList(user,Ptr,*mode); + return; + } } if ((Ptr) && (!has_channel(user,Ptr))) |