# HG changeset patch # User Myhailo Danylenko # Date 1270663520 -10800 # Node ID d5748ae53a17e056363fa8d41f9425fa45c01b86 # Parent 4524cdff923f66b0a8a20f73cf5040639f5eb938 Use id to delete command diff -r 4524cdff923f -r d5748ae53a17 cmd.c --- a/cmd.c Sun Apr 04 16:40:43 2010 +0300 +++ b/cmd.c Wed Apr 07 21:05:20 2010 +0300 @@ -47,7 +47,11 @@ static module_info_t info_cmd_experimental = { .branch = "experimental", - .api = 15, +#ifndef HAVE_CMD_ID + .api = 20, +#else + .api = 23, +#endif .version = PROJECT_VERSION, .description = DESCRIPTION, .requires = NULL, @@ -76,6 +80,10 @@ GIOChannel *channel; } cmd_cb_t; +#ifdef HAVE_CMD_ID +static gpointer mcmd_cmid = NULL; +#endif + static GSList *cmd_channels = NULL; static gboolean is_room (const gchar *jid) @@ -334,14 +342,23 @@ static void mcmd_init (void) { +#ifndef HAVE_CMD_ID cmd_add ("cmd", "", 0, 0, do_cmd, NULL); +#else + mcmd_cmid = cmd_add ("cmd", "", 0, 0, do_cmd, NULL); +#endif } static void mcmd_uninit (void) { GSList *sel; +#ifndef HAVE_CMD_ID cmd_del ("cmd"); +#else + if (mcmd_cmid) + cmd_del (mcmd_cmid); +#endif for (sel = cmd_channels; sel; sel = sel->next) { cmd_cb_t *cb = (cmd_cb_t *) sel->data; diff -r 4524cdff923f -r d5748ae53a17 config.h.in --- a/config.h.in Sun Apr 04 16:40:43 2010 +0300 +++ b/config.h.in Wed Apr 07 21:05:20 2010 +0300 @@ -2,6 +2,12 @@ #ifndef LOCAL_CONFIG_H #define LOCAL_CONFIG_H +#include + +#if MCABBER_BRANCH_EXPERIMENTAL && MCABBER_API_VERSION >= 23 +# define HAVE_CMD_ID +#endif + #define PROJECT_VERSION ( "${PROJECT_VERSION}" ) #endif