Mercurial > ~mikael > mcabber > hg
diff mcabber/src/hooks.c @ 141:6533a231a65e
[/trunk] Changeset 153 by mikael
* We now rebuild the buddy list when receiving a message from an
offline/invisible buddy.
author | mikael |
---|---|
date | Thu, 28 Apr 2005 20:34:40 +0000 |
parents | cfd3df636d5f |
children | 50f23c38743a |
line wrap: on
line diff
--- a/mcabber/src/hooks.c Thu Apr 28 20:11:31 2005 +0000 +++ b/mcabber/src/hooks.c Thu Apr 28 20:34:40 2005 +0000 @@ -30,10 +30,21 @@ inline void hk_message_in(const char *jid, time_t timestamp, const char *msg) { char *buffer = utf8_decode(msg); - // XXX Maybe filter out special chars? + int new_guy = FALSE; + + // If this user isn't in the roster, we add it + if (!roster_exists(jid, jidsearch, ROSTER_TYPE_USER|ROSTER_TYPE_AGENT)) { + roster_add_user(jid, NULL, NULL, ROSTER_TYPE_USER); + new_guy = TRUE; + } + scr_WriteIncomingMessage(jid, buffer); hlog_write_message(jid, timestamp, FALSE, buffer); free(buffer); + if (new_guy) { + buddylist_build(); + update_roster = TRUE; + } } inline void hk_message_out(const char *jid, time_t timestamp, const char *msg)