/soc/2015/koosha/main: 55b339c4feda: XEP-0184: remove the nested...

Koosha Khajehmoogahi <[email protected]>
Newsgroups gmane.comp.gnome.gaim.cvs
Message-ID <[email protected]>
Changeset: 55b339c4feda6274c555a3aa03e880b878c5e004
Author:	 Koosha Khajehmoogahi <[email protected]>
Date:	 2015-06-27 16:47 +0200
Branch:	 default
URL: https://hg.pidgin.im/soc/2015/koosha/main/rev/55b339c4feda

Description:

XEP-0184: remove the nested loop when parsing incoming message

diffstat:

 libpurple/protocols/jabber/message.c |  19 +++++--------------
 1 files changed, 5 insertions(+), 14 deletions(-)

diffs (39 lines):

diff --git a/libpurple/protocols/jabber/message.c b/libpurple/protocols/jabber/message.c
--- a/libpurple/protocols/jabber/message.c
+++ b/libpurple/protocols/jabber/message.c
@@ -598,7 +598,7 @@ void jabber_message_parse(JabberStream *
 {
 	JabberMessage *jm;
 	const char *id, *from, *to, *type;
-	PurpleXmlNode *child, *sibling;
+	PurpleXmlNode *child;
 	gboolean signal_return;
 
 	from = purple_xmlnode_get_attrib(packet, "from");
@@ -687,22 +687,13 @@ void jabber_message_parse(JabberStream *
 				char *msg = purple_xmlnode_get_data(child);
 				char *escaped = purple_markup_escape_text(msg, -1);
 				jm->body = purple_strdup_withhtml(escaped);
-				if (jm->type == JABBER_MESSAGE_NORMAL ||
-				    jm->type == JABBER_MESSAGE_CHAT)
-				{
-					for (sibling = packet->child; sibling; sibling = sibling->next) {
-						if (!strcmp(sibling->name, "request")) {
-							const char *sibling_xmlns = purple_xmlnode_get_namespace(sibling);
-							if (!strcmp(sibling_xmlns, "urn:xmpp:receipts")) {
-								jm->receipt = TRUE;
-								break;
-							}
-						}
-					}
-				}
 				g_free(escaped);
 				g_free(msg);
 			}
+		} else if(!strcmp(child->name, "request") && !strcmp(purple_xmlnode_get_namespace(child), "urn:xmpp:receipts")) {
+			if (jm->type == JABBER_MESSAGE_NORMAL || jm->type == JABBER_MESSAGE_CHAT) {
+				jm->receipt = TRUE;
+			}
 		} else if(!strcmp(child->name, "html") && !strcmp(xmlns, NS_XHTML_IM)) {
 			if(!jm->xhtml && purple_xmlnode_get_child(child, "body")) {
 				char *c;

_______________________________________________
Commits mailing list
[email protected]
https://pidgin.im/cgi-bin/mailman/listinfo/commits
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.