summaryrefslogtreecommitdiff
path: root/src/modules
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules')
-rw-r--r--src/modules/m_services.cpp13
1 files changed, 3 insertions, 10 deletions
diff --git a/src/modules/m_services.cpp b/src/modules/m_services.cpp
index 878724168..dd1506717 100644
--- a/src/modules/m_services.cpp
+++ b/src/modules/m_services.cpp
@@ -48,14 +48,7 @@ class ModuleServices : public Module
// only a u-lined server may add or remove the +r mode.
if ((Srv->IsUlined(user->nick)) || (Srv->IsUlined(user->server)))
{
- // FCS - BugFix for #27 :)
- if ((!strchr(user->modes,'r')) && (mode_on == false)) {
- return 1;
- } else if ((strchr(user->modes,'r')) && (mode_on == true)) {
- return 1;
- } else {
- return 0;
- }
+ return 1;
}
else
{
@@ -64,13 +57,13 @@ class ModuleServices : public Module
}
else
{
- if (!strcmp(user->server,""))
+ if ((Srv->IsUlined(user->nick)) || (Srv->IsUlined(user->server)) || (!strcmp(user->server,"")))
{
return 1;
}
else
{
- Srv->SendServ(user->fd,"500 "+std::string(user->nick)+" :Only a server may modify the +r user mode");
+ Srv->SendServ(user->fd,"500 "+std::string(user->nick)+" :Only a U-Lined server may modify the +r user mode");
}
}
}