/** Sets a feature to the given value.
* @param[in] from Client trying to set parameters.
* @param[in] fields Array of parameters to set.
/** Sets a feature to the given value.
* @param[in] from Client trying to set parameters.
* @param[in] fields Array of parameters to set.
F_S(PROVIDER, FEAT_NULL, 0, 0),
F_B(KILL_IPMISMATCH, FEAT_OPER, 0, 0),
F_B(IDLE_FROM_MSG, 0, 1, 0),
F_S(PROVIDER, FEAT_NULL, 0, 0),
F_B(KILL_IPMISMATCH, FEAT_OPER, 0, 0),
F_B(IDLE_FROM_MSG, 0, 1, 0),
F_B(WALLOPS_OPER_ONLY, 0, 0, 0),
F_B(NODNS, 0, 0, 0),
F_N(RANDOM_SEED, FEAT_NODISP, random_seed_set, 0, 0, 0, 0, 0, 0),
F_B(WALLOPS_OPER_ONLY, 0, 0, 0),
F_B(NODNS, 0, 0, 0),
F_N(RANDOM_SEED, FEAT_NODISP, random_seed_set, 0, 0, 0, 0, 0, 0),
- if (features[i].flags & FEAT_MARK) /* it's been changed */
- send_reply(to, SND_EXPLICIT | RPL_STATSFLINE, "F %s %d",
- features[i].type, features[i].v_int);
+ if (report) /* it's been changed */
+ send_reply(to, SND_EXPLICIT | RPL_STATSFLINE, "%c %s %d",
+ changed, features[i].type, features[i].v_int);
- if (features[i].flags & FEAT_MARK) /* it's been changed */
- send_reply(to, SND_EXPLICIT | RPL_STATSFLINE, "F %s %s",
- features[i].type, features[i].v_int ? "TRUE" : "FALSE");
+ if (report) /* it's been changed */
+ send_reply(to, SND_EXPLICIT | RPL_STATSFLINE, "%c %s %s",
+ changed, features[i].type, features[i].v_int ? "TRUE" : "FALSE");
- send_reply(to, SND_EXPLICIT | RPL_STATSFLINE, "F %s %s",
- features[i].type, features[i].v_str);
+ send_reply(to, SND_EXPLICIT | RPL_STATSFLINE, "%c %s %s",
+ changed, features[i].type, features[i].v_str);
- send_reply(to, SND_EXPLICIT | RPL_STATSFLINE, "F %s",
- features[i].type);
+ send_reply(to, SND_EXPLICIT | RPL_STATSFLINE, "%c %s",
+ changed, features[i].type);