mcabber/src/hooks.c
changeset 141 6533a231a65e
parent 120 cfd3df636d5f
child 146 50f23c38743a
--- 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)