From 687140b5888e51615c78f60f08b1d1c84cb3388a Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Wed, 9 Mar 2011 20:26:17 -0600 Subject: [PATCH] FS-3139 --- libs/libdingaling/src/libdingaling.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/libs/libdingaling/src/libdingaling.c b/libs/libdingaling/src/libdingaling.c index 44c4589429..6793c3df61 100644 --- a/libs/libdingaling/src/libdingaling.c +++ b/libs/libdingaling/src/libdingaling.c @@ -384,9 +384,12 @@ static ldl_status parse_session_code(ldl_handle_t *handle, char *id, char *from, } while(xml) { - char *type = xtype ? xtype : iks_find_attrib(xml, "type"); + char *type = NULL; iks *tag; - + + if (iks_type(xml)!=IKS_CDATA) + type = xtype ? xtype : iks_find_attrib(xml, "type"); + if (type) { if (!strcasecmp(type, "redirect")) { @@ -994,9 +997,9 @@ static int on_commands(void *user_data, ikspak *pak) uint8_t is_result = strcasecmp(type, "result") ? 0 : 1; uint8_t is_error = strcasecmp(type, "error") ? 0 : 1; iks *xml, *xsession, *xerror = NULL, *xredir = NULL; - + struct iks_tag* tmp; xml = iks_child (pak->x); - + tmp = (struct iks_tag*) xml; if (is_error) { if ((xerror = working_find(xml, "error"))) { char *code = iks_find_attrib(xerror, "code");