diff --git a/src/modules/m_mode.c b/src/modules/m_mode.c index 240c80b8a..cb530e53c 100644 --- a/src/modules/m_mode.c +++ b/src/modules/m_mode.c @@ -1859,7 +1859,7 @@ DLLFUNC CMD_FUNC(_m_umode) if ((setflags & UMODE_OPER) && !IsOper(sptr) && MyConnect(sptr)) { list_del(&sptr->special_node); - remove_oper_snomasks(sptr); + remove_oper_privileges(sptr, 0); RunHook2(HOOKTYPE_LOCAL_OPER, sptr, 0); } diff --git a/src/modules/m_svsmode.c b/src/modules/m_svsmode.c index 0d38180ed..ae4a13aa6 100644 --- a/src/modules/m_svsmode.c +++ b/src/modules/m_svsmode.c @@ -459,8 +459,7 @@ int what, setflags; /* User is no longer oper (after the goto below, anyway)... * so remove all oper-only modes and snomasks. */ - remove_oper_modes(acptr); - remove_oper_snomasks(acptr); + remove_oper_privileges(acptr, 0); } goto setmodex; case 'H': diff --git a/src/modules/m_svsnoop.c b/src/modules/m_svsnoop.c index cdc3afc0e..b4bdb5ccb 100644 --- a/src/modules/m_svsnoop.c +++ b/src/modules/m_svsnoop.c @@ -76,7 +76,6 @@ MOD_UNLOAD(m_svsnoop) int m_svsnoop(aClient *cptr, aClient *sptr, int parc, char *parv[]) { aClient *acptr; -long oldumodes; if (!(IsULine(sptr) && parc > 2)) return 0; @@ -100,10 +99,7 @@ long oldumodes; if (!list_empty(&acptr->special_node)) list_del(&acptr->special_node); - oldumodes = acptr->umodes; - remove_oper_modes(acptr); - remove_oper_snomasks(acptr); - send_umode_out(acptr, acptr, oldumodes); + remove_oper_privileges(acptr, 1); RunHook2(HOOKTYPE_LOCAL_OPER, acptr, 0); } }