Correctly skip non-servers when evaluating C-rules.
[ircu2.10.12-pk.git] / ircd / crule.c
index 6cfb8ab935fcfd1136931a9e4e10e633a0645c2f..1a1fd2150e53a46cbf8224b771d703bb8d2d6a6e 100644 (file)
@@ -228,7 +228,7 @@ static int crule_connected(int numargs, void *crulearg[])
   /* taken from m_links */
   for (acptr = GlobalClientList; acptr; acptr = cli_next(acptr))
   {
-    if (!IsServer(acptr) && !IsMe(acptr))
+    if (!IsServer(acptr) || IsMe(acptr))
       continue;
     if (match((char *)crulearg[0], cli_name(acptr)))
       continue;
@@ -276,7 +276,7 @@ static int crule_via(int numargs, void *crulearg[])
   /* adapted from m_links */
   for (acptr = GlobalClientList; acptr; acptr = cli_next(acptr))
   {
-    if (!IsServer(acptr) && !IsMe(acptr))
+    if (!IsServer(acptr) || IsMe(acptr))
       continue;
     if (match((char *)crulearg[1], cli_name(acptr)))
       continue;