/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