]> Pileus Git - ~andy/lamechat/blobdiff - xmpp.c
Make logfile optional.
[~andy/lamechat] / xmpp.c
diff --git a/xmpp.c b/xmpp.c
index ceb2e5621def79c42d7b75f77a869cf2ccee3761..374e6615d4c286c4525fdf49503b8ee24a4156a7 100644 (file)
--- a/xmpp.c
+++ b/xmpp.c
@@ -1086,6 +1086,14 @@ void xmpp_config(server_t *server, channel_t *channel,
                else if (match(key, "join"))
                        chan->join = get_bool(value);
        }
+       if (match(group, "autojoin")) {
+               xmpp_channel_t *chan = new0(xmpp_channel_t);
+               chan->channel.server = &srv->server;
+               chan->channel.name = strcopy(key);
+               chan->room = get_string(value);
+               chan->join = 1;
+               add_channel(&chan->channel);
+       }
 }
 
 void xmpp_complete(channel_t *channel, const char *text)
@@ -1127,6 +1135,7 @@ void xmpp_send(channel_t *channel, const char *text)
        const char *arg;
 
        /* Escape HTML */
+       const char *raw = text;
        escape(buf, text, sizeof(buf));
        text = buf;
 
@@ -1227,7 +1236,7 @@ void xmpp_send(channel_t *channel, const char *text)
                                "<body>%s</body>"
                                "</message>",
                                srv->id++, srv->bind, chan->dest, text);
-                       chat_recv(channel, &srv->myself.user, text);
+                       chat_recv(channel, &srv->myself.user, raw);
                }
        }
 }