aboutsummaryrefslogtreecommitdiffstats
path: root/protocols/jabber/message.c
diff options
context:
space:
mode:
Diffstat (limited to 'protocols/jabber/message.c')
-rw-r--r--protocols/jabber/message.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/protocols/jabber/message.c b/protocols/jabber/message.c
index a226a225..ce5017fb 100644
--- a/protocols/jabber/message.c
+++ b/protocols/jabber/message.c
@@ -54,11 +54,12 @@ xt_status jabber_pkt_message( struct xt_node *node, gpointer data )
char *ns = xt_find_attr( c, "xmlns" ), *room;
struct xt_node *inv, *reason;
- if( strcmp( ns, XMLNS_MUC_USER ) == 0 &&
+ if( ns && strcmp( ns, XMLNS_MUC_USER ) == 0 &&
( inv = xt_find_node( c->children, "invite" ) ) )
{
room = from;
- from = xt_find_attr( inv, "from" ) ? : from;
+ if( ( from = xt_find_attr( inv, "from" ) ) == NULL )
+ from = room;
g_string_append_printf( fullmsg, "<< \002BitlBee\002 - Invitation to chatroom %s >>\n", room );
if( ( reason = xt_find_node( inv->children, "reason" ) ) && reason->text_len > 0 )
@@ -71,7 +72,7 @@ xt_status jabber_pkt_message( struct xt_node *node, gpointer data )
if( bud )
{
bud->last_msg = time( NULL );
- from = bud->ext_jid ? : bud->bare_jid;
+ from = bud->ext_jid ? bud->ext_jid : bud->bare_jid;
}
else
*s = 0; /* We need to generate a bare JID now. */
@@ -79,8 +80,8 @@ xt_status jabber_pkt_message( struct xt_node *node, gpointer data )
if( type && strcmp( type, "headline" ) == 0 )
{
- c = xt_find_node( node->children, "subject" );
- g_string_append_printf( fullmsg, "Headline: %s\n", c && c->text_len > 0 ? c->text : "" );
+ if( ( c = xt_find_node( node->children, "subject" ) ) && c->text_len > 0 )
+ g_string_append_printf( fullmsg, "Headline: %s\n", c->text );
/* <x xmlns="jabber:x:oob"><url>http://....</url></x> can contain a URL, it seems. */
for( c = node->children; c; c = c->next )