summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/commands/cs_access.cpp7
-rw-r--r--modules/commands/cs_xop.cpp7
2 files changed, 12 insertions, 2 deletions
diff --git a/modules/commands/cs_access.cpp b/modules/commands/cs_access.cpp
index 1a6c93514..cab343057 100644
--- a/modules/commands/cs_access.cpp
+++ b/modules/commands/cs_access.cpp
@@ -229,7 +229,12 @@ class CommandCSAccess : public Command
{
Anope::string mask = params[2];
- if (!isdigit(mask[0]) && mask.find_first_of("#!*@") == Anope::string::npos && !NickAlias::Find(mask))
+ const NickAlias *na = NickAlias::Find(mask);
+ if (na && na->nc)
+ {
+ mask = na->nc->display;
+ }
+ else if (!isdigit(mask[0]) && mask.find_first_of("#!*@") == Anope::string::npos)
{
User *targ = User::Find(mask, true);
if (targ != NULL)
diff --git a/modules/commands/cs_xop.cpp b/modules/commands/cs_xop.cpp
index 33b2f564e..e2a1994e8 100644
--- a/modules/commands/cs_xop.cpp
+++ b/modules/commands/cs_xop.cpp
@@ -246,7 +246,12 @@ class CommandCSXOP : public Command
const ChanAccess *highest = access.Highest();
bool override = false;
- if (!isdigit(mask[0]) && mask.find_first_of("#!*@") == Anope::string::npos && !NickAlias::Find(mask))
+ const NickAlias *na = NickAlias::Find(mask);
+ if (na && na->nc)
+ {
+ mask = na->nc->display;
+ }
+ else if (!isdigit(mask[0]) && mask.find_first_of("#!*@") == Anope::string::npos)
{
User *targ = User::Find(mask, true);
if (targ != NULL)