Fix the display of local Operator blocks in /stats o.
[ircu2.10.12-pk.git] / ircd / s_stats.c
index b373c91f17ea3719f80788c0b57bf19371c4b0f5..7a600ce8f6e66d3636611936f3bb8753ed21900b 100644 (file)
@@ -114,12 +114,13 @@ stats_configured_links(struct Client *sptr, const struct StatDesc* sd,
                    (name[0] == ':' ? "0" : ""), (tmp->name ? tmp->name : "*"),
                    port, get_conf_class(tmp));
       else if (tmp->status & CONF_OPERATOR)
-        send_reply(sptr, RPL_STATSOLINE,
-                   ((FlagHas(&tmp->privs_dirty, PRIV_PROPAGATE)
-                     && FlagHas(&tmp->privs, PRIV_PROPAGATE))
-                    || (FlagHas(&tmp->conn_class->privs_dirty, PRIV_PROPAGATE)
-                        && FlagHas(&tmp->conn_class->privs, PRIV_PROPAGATE)))
-                   ? 'O' : 'o', username, host, name, get_conf_class(tmp));
+      {
+        int global = FlagHas(&tmp->privs_dirty, PRIV_PROPAGATE)
+            ? FlagHas(&tmp->privs, PRIV_PROPAGATE)
+            : FlagHas(&tmp->conn_class->privs, PRIV_PROPAGATE);
+        send_reply(sptr, RPL_STATSOLINE, global ? 'O' : 'o',
+                   username, host, name, get_conf_class(tmp));
+      }
     }
   }
 }