presence: Make set_metadata() erase any old metadata for an entry.

This commit is contained in:
William Pitcock 2009-06-02 01:53:05 -05:00
parent 75ea650c3c
commit df2688426d

View file

@ -1751,13 +1751,14 @@ set_metadata(struct Client *client_p, const char *key, const char *value)
{ {
struct MetadataEntry *md; struct MetadataEntry *md;
delete_metadata(client_p, key);
if(client_p->user != NULL) if(client_p->user != NULL)
{ {
md = rb_bh_alloc(metadata_heap); md = rb_bh_alloc(metadata_heap);
rb_strlcpy(md->key, key, NICKLEN); rb_strlcpy(md->key, key, NICKLEN);
rb_strlcpy(md->value, value, TOPICLEN); rb_strlcpy(md->value, value, TOPICLEN);
irc_dictionary_add(client_p->user->metadata, key, md); irc_dictionary_add(client_p->user->metadata, md->key, md);
} }
} }