# HG changeset patch # User Myhailo Danylenko # Date 1270663880 -10800 # Node ID 2910a8ca0d92f0b27b384bd3fe28a14ae2df2915 # Parent 7839ad2ef0e51e2c01e454e7a2fc30b05cf89c86 Use id to delete command diff -r 7839ad2ef0e5 -r 2910a8ca0d92 config.h.in --- a/config.h.in Sun Apr 04 16:41:05 2010 +0300 +++ b/config.h.in Wed Apr 07 21:11:20 2010 +0300 @@ -4,6 +4,12 @@ #cmakedefine HAVE_LM_CONNECTION_UNREGISTER_REPLY_HANDLER +#include + +#if MCABBER_BRANCH_EXPERIMENTAL && MCABBER_API_VERSION >= 23 +# define HAVE_CMD_ID +#endif + #define PROJECT_VERSION ( "${PROJECT_VERSION}" ) #endif diff -r 7839ad2ef0e5 -r 2910a8ca0d92 disco.c --- a/disco.c Sun Apr 04 16:41:05 2010 +0300 +++ b/disco.c Wed Apr 07 21:11:20 2010 +0300 @@ -49,7 +49,11 @@ static module_info_t info_disco_experimental = { .branch = "experimental", - .api = 15, +#ifndef HAVE_CMD_ID + .api = 20, +#else + .api = 23, +#endif .version = PROJECT_VERSION, .description = DESCRIPTION, .requires = NULL, @@ -97,6 +101,10 @@ // globals // +#ifdef HAVE_CMD_ID +static gpointer disco_cmid = NULL; +#endif + static guint disco_cid = 0; static guint disco_hid = 0; static GSList *reply_handlers = NULL; @@ -646,7 +654,11 @@ disco_hid = hk_add_handler (disco_hh, HOOK_PRE_DISCONNECT, G_PRIORITY_DEFAULT, NULL); // command +#ifndef HAVE_CMD_ID cmd_add ("disco", "", disco_cid, COMPL_JID, do_disco, NULL); +#else + disco_cmid = cmd_add ("disco", "", disco_cid, COMPL_JID, do_disco, NULL); +#endif return; } @@ -654,7 +666,12 @@ static void disco_uninit (void) { // command +#ifndef HAVE_CMD_ID cmd_del ("disco"); +#else + if (disco_cmid) + cmd_del (disco_cmid); +#endif // completion if (disco_cid)