# HG changeset patch # User Paul Aurich # Date 1251513417 0 # Node ID d7cfffdd35e6da718d23149ec11c7039c740f567 # Parent e47d4bddf9742d14177ea2bd3ff06f9f9a34fb33# Parent 1662dbdac18c49eb7043bf94a6707e59a75563b9 merge of '0a6d9985bcc4d77bf880200a8594a3ec52b00777' and 'd05a71308f2d09a24eae2b38940b5ab221f70448' diff -r e47d4bddf974 -r d7cfffdd35e6 ChangeLog.API --- a/ChangeLog.API Fri Aug 28 23:27:10 2009 +0000 +++ b/ChangeLog.API Sat Aug 29 02:36:57 2009 +0000 @@ -1,5 +1,14 @@ Pidgin and Finch: The Pimpin' Penguin IM Clients That're Good for the Soul +version 2.6.2 (09/??/2009): + Perl: + Added: + * Purple::XMLNode::get_next(), which returns the next neighbor tag of + the current node. + Changed: + * Purple::XMLNode::get_child() will return the first child node if + passed "" or undef as the name of the node. + version 2.6.1 (08/18/2009): No changes diff -r e47d4bddf974 -r d7cfffdd35e6 libpurple/account.c --- a/libpurple/account.c Fri Aug 28 23:27:10 2009 +0000 +++ b/libpurple/account.c Sat Aug 29 02:36:57 2009 +0000 @@ -2290,9 +2290,13 @@ purple_account_add_buddy(PurpleAccount *account, PurpleBuddy *buddy) { PurplePluginProtocolInfo *prpl_info = NULL; - PurpleConnection *gc = purple_account_get_connection(account); + PurpleConnection *gc; PurplePlugin *prpl = NULL; + g_return_if_fail(account != NULL); + g_return_if_fail(buddy != NULL); + + gc = purple_account_get_connection(account); if (gc != NULL) prpl = purple_connection_get_prpl(gc); diff -r e47d4bddf974 -r d7cfffdd35e6 libpurple/plugins/perl/common/XMLNode.xs --- a/libpurple/plugins/perl/common/XMLNode.xs Fri Aug 28 23:27:10 2009 +0000 +++ b/libpurple/plugins/perl/common/XMLNode.xs Sat Aug 29 02:36:57 2009 +0000 @@ -32,6 +32,18 @@ xmlnode_get_child(parent, name) Purple::XMLNode parent const char *name +PREINIT: + xmlnode *tmp; +CODE: + if (!name || *name == '\0') { + tmp = parent->child; + while (tmp && tmp->type != XMLNODE_TYPE_TAG) + tmp = tmp->next; + RETVAL = tmp; + } else + RETVAL = xmlnode_get_child(parent, name); +OUTPUT: + RETVAL Purple::XMLNode xmlnode_get_child_with_namespace(parent, name, xmlns) @@ -44,6 +56,19 @@ Purple::XMLNode node Purple::XMLNode +xmlnode_get_next(node) + Purple::XMLNode node +PREINIT: + xmlnode *tmp; +CODE: + tmp = node->next; + while (tmp && tmp->type != XMLNODE_TYPE_TAG) + tmp = tmp->next; + RETVAL = tmp; +OUTPUT: + RETVAL + +Purple::XMLNode xmlnode_get_next_twin(node) Purple::XMLNode node diff -r e47d4bddf974 -r d7cfffdd35e6 pidgin/plugins/gevolution/gevo-util.c --- a/pidgin/plugins/gevolution/gevo-util.c Fri Aug 28 23:27:10 2009 +0000 +++ b/pidgin/plugins/gevolution/gevo-util.c Sat Aug 29 02:36:57 2009 +0000 @@ -35,14 +35,16 @@ conv = purple_find_conversation_with_account(PURPLE_CONV_TYPE_IM, buddy_name, account); - if ((group = purple_find_group(group_name)) == NULL) + group = purple_find_group(group_name); + if (group == NULL) { group = purple_group_new(group_name); purple_blist_add_group(group, NULL); } - if ((buddy = purple_find_buddy_in_group(account, buddy_name, group))) - { + buddy = purple_find_buddy_in_group(account, buddy_name, group); + if (buddy == NULL) + { buddy = purple_buddy_new(account, buddy_name, alias); purple_blist_add_buddy(buddy, NULL, group, NULL); }