From: Michael Poole Date: Sat, 17 Nov 2007 14:21:02 +0000 (+0000) Subject: Make "/stats flag server param" work as intended again. X-Git-Url: http://git.pk910.de/?p=ircu2.10.12-pk.git;a=commitdiff_plain;h=26e8592ac0d9a87f06bdb39023ec5da6d7397ab6 Make "/stats flag server param" work as intended again. git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/branches/u2_10_12_branch@1844 c9e4aea6-c8fd-4c43-8297-357d70d61c8c --- diff --git a/ChangeLog b/ChangeLog index 195ee5e..4f00626 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2007-11-17 Michael Poole + + * ircd/m_stats.c (m_stats): Properly assign param before it is + used in the hunt_server_cmd() call. + 2007-11-17 Michael Poole * ircd/s_auth.c (iauth_disconnect): Avoid destroying invalid diff --git a/ircd/m_stats.c b/ircd/m_stats.c index c173e83..a68d0d7 100644 --- a/ircd/m_stats.c +++ b/ircd/m_stats.c @@ -119,7 +119,7 @@ int m_stats(struct Client* cptr, struct Client* sptr, int parc, char* parv[]) { const struct StatDesc *sd; - char *param = 0; + char *param; /* If we didn't find a descriptor, send them help */ if ((parc < 2) || !(sd = stats_find(parv[1]))) @@ -140,6 +140,12 @@ m_stats(struct Client* cptr, struct Client* sptr, int parc, char* parv[]) ((sd->sd_flags & STAT_FLAG_OPERFEAT) && feature_bool(sd->sd_control)))) return send_reply(sptr, ERR_NOPRIVILEGES); + /* Check for extra parameter */ + if ((sd->sd_flags & STAT_FLAG_VARPARAM) && parc > 3 && !EmptyString(parv[3])) + param = parv[3]; + else + param = NULL; + /* Ok, track down who's supposed to get this... */ if (hunt_server_cmd(sptr, CMD_STATS, cptr, feature_int(FEAT_HIS_REMOTE), param ? "%s %C :%s" : "%s :%C", 2, parc, parv) != @@ -150,10 +156,6 @@ m_stats(struct Client* cptr, struct Client* sptr, int parc, char* parv[]) if ((sd->sd_flags & STAT_FLAG_LOCONLY) && !MyUser(sptr)) return send_reply(sptr, ERR_NOPRIVILEGES); - /* Check for extra parameter */ - if ((sd->sd_flags & STAT_FLAG_VARPARAM) && parc > 3 && !EmptyString(parv[3])) - param = parv[3]; - assert(sd->sd_func != 0); /* Ok, dispatch the stats function */