GtkTextIter should not be a pointer and, in case the to or body part of
the message is empty, use the empty string.
hc_xmpp_chat (hc_xmpp_t *xmpp, iks *message)
{
GtkTextBuffer *textbuffer;
hc_xmpp_chat (hc_xmpp_t *xmpp, iks *message)
{
GtkTextBuffer *textbuffer;
char *str;
char *from;
char *body;
str = iks_string (iks_stack (message), message);
write (fd, str, strlen (str));
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));
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);