presence: Use RPL_WHOISMETADATA.

This commit is contained in:
William Pitcock 2009-06-02 02:44:31 -05:00
parent 972e31192f
commit f72de72bf4

View file

@ -240,6 +240,8 @@ single_whois(struct Client *source_p, struct Client *target_p, int operspy)
hook_data_client hdata; hook_data_client hdata;
int visible; int visible;
int extra_space = 0; int extra_space = 0;
struct DictionaryIter iter;
struct MetadataEntry *md;
if(target_p->user == NULL) if(target_p->user == NULL)
{ {
@ -367,6 +369,17 @@ single_whois(struct Client *source_p, struct Client *target_p, int operspy)
} }
} }
DICTIONARY_FOREACH(md, &iter, target_p->user->metadata)
{
/* XXX: hack around "away" for legacy clients. --nenolod */
if (!IsCapable(source_p, CLICAP_PRESENCE) && !irccmp(md->key, "away"))
continue;
sendto_one_numeric(source_p, RPL_WHOISMETADATA,
form_str(RPL_WHOISMETADATA),
target_p->name, md->key, md->value);
}
hdata.client = source_p; hdata.client = source_p;
hdata.target = target_p; hdata.target = target_p;