X-Git-Url: http://git.cascardo.info/?p=cascardo%2Fchat.git;a=blobdiff_plain;f=chat.c;fp=chat.c;h=02553306ad39ca2fa7bc7228361ba7ae72f71736;hp=75fdf852f090971b283cf1de00c9ea305974233c;hb=387372d4d6321ff20f8dadb76906aa77d815b283;hpb=ed117cfe5afa4a0360f0d319eb187fd0f3a40155 diff --git a/chat.c b/chat.c index 75fdf85..0255330 100644 --- a/chat.c +++ b/chat.c @@ -36,20 +36,22 @@ static void hc_xmpp_chat (hc_xmpp_t *xmpp, iks *message) { GtkTextBuffer *textbuffer; - GtkTextIter *textiter; + GtkTextIter textiter; char *str; char *from; char *body; str = iks_string (iks_stack (message), message); write (fd, str, strlen (str)); - from = iks_find_attrib (message, "from"); - body = iks_cdata (iks_child (iks_find (message, "body"))); + if ((from = iks_find_attrib (message, "from")) == NULL) + from = ""; + if ((body = iks_cdata (iks_child (iks_find (message, "body")))) == NULL) + body = ""; textbuffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (textview)); - gtk_text_buffer_get_end_iter (textbuffer, textiter); - gtk_text_buffer_insert (textbuffer, textiter, from, -1); - gtk_text_buffer_insert (textbuffer, textiter, ": ", -1); - gtk_text_buffer_insert (textbuffer, textiter, body, -1); - gtk_text_buffer_insert (textbuffer, textiter, "\n", -1); + gtk_text_buffer_get_end_iter (textbuffer, &textiter); + gtk_text_buffer_insert (textbuffer, &textiter, from, -1); + gtk_text_buffer_insert (textbuffer, &textiter, ": ", -1); + gtk_text_buffer_insert (textbuffer, &textiter, body, -1); + gtk_text_buffer_insert (textbuffer, &textiter, "\n", -1); } static void