diff src/protocols/jabber/message.c @ 13806:25e63008d3bb

[gaim-migrate @ 16229] Use libxml2 for XML parsing, if available. The biggest benefit from this is actual support for XML namespaces. This fixes a handful of Google Talk integration problems, including typing notifications and buddy icons. committer: Tailor Script <tailor@pidgin.im>
author Sean Egan <seanegan@gmail.com>
date Thu, 08 Jun 2006 01:03:51 +0000
parents 8d972f41b4de
children a9ff4499d9ce
line wrap: on
line diff
--- a/src/protocols/jabber/message.c	Wed Jun 07 15:58:27 2006 +0000
+++ b/src/protocols/jabber/message.c	Thu Jun 08 01:03:51 2006 +0000
@@ -123,7 +123,7 @@
 
 	for(etc = jm->etc; etc; etc = etc->next) {
 		xmlnode *x = etc->data;
-		const char *xmlns = xmlnode_get_attrib(x, "xmlns");
+		const char *xmlns = xmlnode_get_namespace(x);
 		if(xmlns && !strcmp(xmlns, "jabber:x:oob")) {
 			xmlnode *url, *desc;
 			char *urltxt, *desctxt;
@@ -325,7 +325,7 @@
 			g_free(code_txt);
 			g_free(text);
 		} else if(!strcmp(child->name, "x")) {
-			const char *xmlns = xmlnode_get_attrib(child, "xmlns");
+			const char *xmlns = xmlnode_get_namespace(child);
 			if(xmlns && !strcmp(xmlns, "jabber:x:event")) {
 				if(xmlnode_get_child(child, "composing")) {
 					if(jm->chat_state == JM_STATE_ACTIVE)
@@ -440,7 +440,7 @@
 
 	if(JM_TS_JEP_0022 == (jm->typing_style & JM_TS_JEP_0022)) {
 		child = xmlnode_new_child(message, "x");
-		xmlnode_set_attrib(child, "xmlns", "jabber:x:event");
+		xmlnode_set_namespace(child, "jabber:x:event");
 		if(jm->chat_state == JM_STATE_COMPOSING || jm->body)
 			xmlnode_new_child(child, "composing");
 	}
@@ -466,7 +466,7 @@
 				break;
 		}
 		if(child)
-			xmlnode_set_attrib(child, "xmlns", "http://jabber.org/protocol/chatstates");
+			xmlnode_set_namespace(child, "http://jabber.org/protocol/chatstates");
 	}
 
 	if(jm->subject) {