# HG changeset patch # User Mikael Berthe # Date 1271108414 -7200 # Node ID decf94827efec14c341b4b06fdc3b7f556fcb58b # Parent e25cec543da1bac7232b00dd1f0f36362e94bddf More lm_message_node_get_child_value() return value checks diff -r e25cec543da1 -r decf94827efe mcabber/mcabber/xmpp.c --- a/mcabber/mcabber/xmpp.c Mon Apr 12 23:24:20 2010 +0200 +++ b/mcabber/mcabber/xmpp.c Mon Apr 12 23:40:14 2010 +0200 @@ -1402,6 +1402,8 @@ ust = offline; ustmsg = lm_message_node_get_child_value(m->node, "status"); + if (ustmsg && !*ustmsg) + ustmsg = NULL; // Timestamp? timestamp = lm_message_node_get_timestamp(m->node); diff -r e25cec543da1 -r decf94827efe mcabber/mcabber/xmpp_iqrequest.c --- a/mcabber/mcabber/xmpp_iqrequest.c Mon Apr 12 23:24:20 2010 +0200 +++ b/mcabber/mcabber/xmpp_iqrequest.c Mon Apr 12 23:40:14 2010 +0200 @@ -241,21 +241,21 @@ // Get result data... p = lm_message_node_get_child_value(ansqry, "name"); - if (p) { + if (p && *p) { buf = g_strdup_printf("Name: %s", p); scr_WriteIncomingMessage(bjid, buf, 0, HBB_PREFIX_INFO | HBB_PREFIX_CONT, 0); g_free(buf); } p = lm_message_node_get_child_value(ansqry, "version"); - if (p) { + if (p && *p) { buf = g_strdup_printf("Version: %s", p); scr_WriteIncomingMessage(bjid, buf, 0, HBB_PREFIX_INFO | HBB_PREFIX_CONT, 0); g_free(buf); } p = lm_message_node_get_child_value(ansqry, "os"); - if (p) { + if (p && *p) { buf = g_strdup_printf("OS: %s", p); scr_WriteIncomingMessage(bjid, buf, 0, HBB_PREFIX_INFO | HBB_PREFIX_CONT, 0); @@ -306,21 +306,21 @@ // Get result data... p = lm_message_node_get_child_value(ansqry, "utc"); - if (p) { + if (p && *p) { buf = g_strdup_printf("UTC: %s", p); scr_WriteIncomingMessage(bjid, buf, 0, HBB_PREFIX_INFO | HBB_PREFIX_CONT, 0); g_free(buf); } p = lm_message_node_get_child_value(ansqry, "tz"); - if (p) { + if (p && *p) { buf = g_strdup_printf("TZ: %s", p); scr_WriteIncomingMessage(bjid, buf, 0, HBB_PREFIX_INFO | HBB_PREFIX_CONT, 0); g_free(buf); } p = lm_message_node_get_child_value(ansqry, "display"); - if (p) { + if (p && *p) { buf = g_strdup_printf("Time: %s", p); scr_WriteIncomingMessage(bjid, buf, 0, HBB_PREFIX_INFO | HBB_PREFIX_CONT, 0); @@ -406,7 +406,7 @@ { char *buf; - if (!text || !bjid || !label) + if (!text || !*text || !bjid || !label) return; buf = g_strdup_printf("%s: %s%s%s%s%s%s%s%s%s%s", label, diff -r e25cec543da1 -r decf94827efe mcabber/mcabber/xmpp_muc.c --- 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);