diff mcabber/mcabber/xmpp_muc.c @ 1899:decf94827efe

More lm_message_node_get_child_value() return value checks
author Mikael Berthe <mikael@lilotux.net>
date Mon, 12 Apr 2010 23:40:14 +0200
parents e25cec543da1
children e2def760c6d0
line wrap: on
line diff
--- a/mcabber/mcabber/xmpp_muc.c	Mon Apr 12 23:24:20 2010 +0200
+++ b/mcabber/mcabber/xmpp_muc.c	Mon Apr 12 23:40:14 2010 +0200
@@ -325,6 +325,8 @@
   *mbnick = lm_message_node_get_attribute(y, "nick");
   // For kick/ban, there can be actor and reason tags
   *reason = lm_message_node_get_child_value(y, "reason");
+  if (*reason && !**reason)
+    *reason = NULL;
   z = lm_message_node_find_child(y, "actor");
   if (z)
     *actorjid = lm_message_node_get_attribute(z, "jid");
@@ -543,8 +545,8 @@
         LmMessageNode *destroynode = lm_message_node_find_child(xmldata,
                                                                 "destroy");
         if (destroynode) {
-          if ((reason = lm_message_node_get_child_value(destroynode,
-                                                       "reason"))) {
+          reason = lm_message_node_get_child_value(destroynode, "reason");
+          if (reason && *reason) {
             mbuf = g_strdup_printf("You have left %s, "
                                    "the room has been destroyed: %s",
                                    roomjid, reason);