From 9b746dcc31acc1745b1a09fca7a7e1191ec7b8a6 Mon Sep 17 00:00:00 2001 From: Kyle Fuller Date: Tue, 23 Aug 2011 19:28:32 +0100 Subject: [PATCH] Change the order that modules are looked up in /msg *module The new order is as follows: Network Module User Module Global Module --- Client.cpp | 90 +++++++++++++++++++++++++----------------------------- 1 file changed, 41 insertions(+), 49 deletions(-) diff --git a/Client.cpp b/Client.cpp index 9cd57608..e45917b8 100644 --- a/Client.cpp +++ b/Client.cpp @@ -15,55 +15,47 @@ #include "znc.h" #include "WebModules.h" -#define CALLMOD(MOD, CLIENT, USER, NETWORK, FUNC) { \ - CModule* pModule = CZNC::Get().GetModules().FindModule(MOD); \ - if (pModule) { \ - try { \ - pModule->SetClient(CLIENT); \ - pModule->SetNetwork(NETWORK); \ - pModule->SetUser(USER); \ - pModule->FUNC; \ - pModule->SetClient(NULL); \ - pModule->SetNetwork(NULL); \ - pModule->SetUser(NULL); \ - } catch (CModule::EModException e) { \ - if (e == CModule::UNLOAD) { \ - CZNC::Get().GetModules().UnloadModule(MOD); \ - } \ - } \ - } else { \ - pModule = (USER)->GetModules().FindModule(MOD); \ - if (pModule) { \ - try { \ - pModule->SetClient(CLIENT); \ - pModule->SetNetwork(NETWORK); \ - pModule->FUNC; \ - pModule->SetClient(NULL); \ - pModule->SetNetwork(NULL); \ - } catch (CModule::EModException e) { \ - if (e == CModule::UNLOAD) { \ - (USER)->GetModules().UnloadModule(MOD); \ - } \ - } \ - } else if (NETWORK) { \ - pModule = (NETWORK)->GetModules().FindModule(MOD); \ - if (pModule) { \ - try { \ - pModule->SetClient(CLIENT); \ - pModule->FUNC; \ - pModule->SetClient(NULL); \ - } catch (CModule::EModException e) { \ - if (e == CModule::UNLOAD) { \ - (NETWORK)->GetModules().UnloadModule(MOD); \ - } \ - } \ - } else { \ - PutStatus("No such module [" + MOD + "]"); \ - } \ - } else { \ - PutStatus("No such module [" + MOD + "]"); \ - } \ - } \ +#define CALLMOD(MOD, CLIENT, USER, NETWORK, FUNC) { \ + CModule *pModule = (NETWORK)->GetModules().FindModule(MOD); \ + if (pModule) { \ + try { \ + pModule->SetClient(CLIENT); \ + pModule->FUNC; \ + pModule->SetClient(NULL); \ + } catch (CModule::EModException e) { \ + if (e == CModule::UNLOAD) { \ + (NETWORK)->GetModules().UnloadModule(MOD); \ + } \ + } \ + } else if ((pModule = (USER)->GetModules().FindModule(MOD))) { \ + try { \ + pModule->SetClient(CLIENT); \ + pModule->SetNetwork(NETWORK); \ + pModule->FUNC; \ + pModule->SetClient(NULL); \ + pModule->SetNetwork(NULL); \ + } catch (CModule::EModException e) { \ + if (e == CModule::UNLOAD) { \ + (USER)->GetModules().UnloadModule(MOD); \ + } \ + } \ + } else if ((pModule = CZNC::Get().GetModules().FindModule(MOD))) { \ + try { \ + pModule->SetClient(CLIENT); \ + pModule->SetNetwork(NETWORK); \ + pModule->SetUser(USER); \ + pModule->FUNC; \ + pModule->SetClient(NULL); \ + pModule->SetNetwork(NULL); \ + pModule->SetUser(NULL); \ + } catch (CModule::EModException e) { \ + if (e == CModule::UNLOAD) { \ + CZNC::Get().GetModules().UnloadModule(MOD); \ + } \ + } \ + } else { \ + PutStatus("No such module [" + MOD + "]"); \ + } \ } CClient::~CClient() {