diff options
-rw-r--r-- | NEWS | 1 | ||||
-rw-r--r-- | modules/m_stats.c | 10 |
2 files changed, 7 insertions, 4 deletions
@@ -3,6 +3,7 @@ o) Fixed undefined behaviour with crypt() returning NULL since glibc2.17 in certain cases o) Admins may now see all channel members via "WHO #channel" regardless of channel mode +s +o) Fixed corrupted "STATS U" output -- Noteworthy changes in version 8.1.15 (2014-03-29) diff --git a/modules/m_stats.c b/modules/m_stats.c index 9452c10..023251c 100644 --- a/modules/m_stats.c +++ b/modules/m_stats.c @@ -102,7 +102,6 @@ report_confitem_types(struct Client *source_p, enum maskitem_type type) break; case CONF_ULINE: - shared = flag_table; DLINK_FOREACH(ptr, uconf_items.head) { conf = ptr->data; @@ -110,19 +109,20 @@ report_confitem_types(struct Client *source_p, enum maskitem_type type) p = buf; *p++ = 'c'; - for (; shared->type; ++shared) + for (shared = flag_table; shared->type; ++shared) if (shared->type & conf->flags) *p++ = shared->letter; else *p++ = ToLower(shared->letter); + *p = '\0'; + sendto_one(source_p, form_str(RPL_STATSULINE), me.name, source_p->name, conf->name, conf->user?conf->user: "*", conf->host?conf->host: "*", buf); } - shared = flag_table; DLINK_FOREACH(ptr, cluster_items.head) { conf = ptr->data; @@ -130,12 +130,14 @@ report_confitem_types(struct Client *source_p, enum maskitem_type type) p = buf; *p++ = 'C'; - for (; shared->type; ++shared) + for (shared = flag_table; shared->type; ++shared) if (shared->type & conf->flags) *p++ = shared->letter; else *p++ = ToLower(shared->letter); + *p = '\0'; + sendto_one(source_p, form_str(RPL_STATSULINE), me.name, source_p->name, conf->name, "*", "*", buf); |