# HG changeset patch # User Mikael Berthe # Date 1146754999 -7200 # Node ID 6f913f4fbb2ac5b29f487fcaffea80c9f1c7a846 # Parent 63707a595c2ee9c11657494b5188c94e9771f55b Use jb_subscr_ in jb_delbuddy() (Avoid code duplication) diff -r 63707a595c2e -r 6f913f4fbb2a mcabber/src/jabglue.c --- a/mcabber/src/jabglue.c Thu May 04 16:02:22 2006 +0200 +++ b/mcabber/src/jabglue.c Thu May 04 17:03:19 2006 +0200 @@ -436,6 +436,17 @@ xmlnode_free(x); } +// jb_subscr_request_cancel(jid) +// Request to cancel jour subscription to jid's presence updates +void jb_subscr_request_cancel(const char *jid) +{ + xmlnode x; + + x = jutil_presnew(JPACKET__UNSUBSCRIBE, (char *)jid, NULL); + jab_send(jc, x); + xmlnode_free(x); +} + // Note: the caller should check the jid is correct void jb_addbuddy(const char *jid, const char *name, const char *group) { @@ -477,7 +488,7 @@ void jb_delbuddy(const char *jid) { - xmlnode x, y, z; + xmlnode y, z; eviqs *iqn; char *cleanjid; @@ -498,12 +509,8 @@ } // Cancel the subscriptions - x = jutil_presnew(JPACKET__UNSUBSCRIBED, cleanjid, 0); // Cancel "from" - jab_send(jc, x); - xmlnode_free(x); - x = jutil_presnew(JPACKET__UNSUBSCRIBE, cleanjid, 0); // Cancel "to" - jab_send(jc, x); - xmlnode_free(x); + jb_subscr_cancel_auth(cleanjid); // Cancel "from" + jb_subscr_request_cancel(cleanjid); // Cancel "to" // Ask for removal from roster iqn = iqs_new(JPACKET__SET, NS_ROSTER, NULL, IQS_DEFAULT_TIMEOUT); diff -r 63707a595c2e -r 6f913f4fbb2a mcabber/src/jabglue.h --- a/mcabber/src/jabglue.h Thu May 04 16:02:22 2006 +0200 +++ b/mcabber/src/jabglue.h Thu May 04 17:03:19 2006 +0200 @@ -42,6 +42,7 @@ void jb_subscr_send_auth(const char *jid); void jb_subscr_cancel_auth(const char *jid); void jb_subscr_request_auth(const char *jid); +void jb_subscr_request_cancel(const char *jid); void jb_addbuddy(const char *jid, const char *name, const char *group); void jb_delbuddy(const char *jid); void jb_updatebuddy(const char *jid, const char *name, const char *group);