/*
** m_who
-** parv[0] = sender prefix
** parv[1] = nickname mask list
** parv[2] = additional selection flag and format options
*/
max = *pos >= bufsize ? 0 : bufsize - *pos;
va_start(ap, fmt);
- result = rb_vsnprintf(buf + *pos, bufsize - *pos, fmt, ap);
+ result = rb_vsnprintf(buf + *pos, max, fmt, ap);
va_end(ap);
*pos += result;
}
const char *q;
rb_sprintf(status, "%c%s%s",
- target_p->user->away ? 'G' : 'H', IsOper(target_p) ? "*" : "", msptr ? find_channel_status(msptr, fmt->fields || IsCapable(source_p, CLICAP_MULTI_PREFIX)) : "");
+ (get_metadata(target_p, "away") != NULL) ? 'G' : 'H', IsOper(target_p) ? "*" : "", msptr ? find_channel_status(msptr, fmt->fields || IsCapable(source_p, CLICAP_MULTI_PREFIX)) : "");
if (fmt->fields == 0)
sendto_one(source_p, form_str(RPL_WHOREPLY), me.name,