--- a/disco.c Sun Jan 17 12:10:37 2010 +0200
+++ b/disco.c Wed Jan 20 19:50:41 2010 +0200
@@ -562,6 +562,9 @@
static void disco_hh (guint32 htype, hk_arg_t *args, gpointer ignore)
{
+#ifdef HOOK_PRE_DISCONNECT
+ disco_unregister_handlers ();
+#else
hk_arg_t *arg;
for (arg = args; arg->name; ++arg)
@@ -570,6 +573,7 @@
disco_unregister_handlers ();
return;
}
+#endif
return;
}
@@ -584,7 +588,11 @@
}
// hook handler
+#ifdef HOOK_PRE_DISCONNECT
+ hk_add_handler (disco_hh, HOOK_PRE_DISCONNECT, NULL);
+#else
hk_add_handler (disco_hh, HOOK_INTERNAL, NULL);
+#endif
// command
cmd_add ("disco", "", disco_cid, COMPL_JID, do_disco, NULL);