#include "numeric.h"
#include "send.h"
#include "packet.h"
+#include "s_assert.h"
static const char alias_desc[] = "Provides the system for services aliases";
static int _modinit(void);
static void _moddeinit(void);
-static int reload_aliases(hook_data *);
+static void reload_aliases(void *);
static void m_alias(struct MsgBuf *, struct Client *, struct Client *, int, const char **);
mapi_hfn_list_av1 alias_hfnlist[] = {
- { "rehash", (hookfn)reload_aliases },
+ { "rehash", reload_aliases },
{ NULL, NULL },
};
RB_DICTIONARY_FOREACH(alias, &iter, alias_dict)
{
struct Message *message = rb_malloc(sizeof(*message) + strlen(alias->name) + 1);
- char *cmd = (void*)message + sizeof(*message);
+ char *cmd = (char*)message + sizeof(*message);
/* copy the alias name as it will be freed early on a rehash */
strcpy(cmd, alias->name);
destroy_aliases();
}
-static int
-reload_aliases(hook_data *data)
+static void
+reload_aliases(void *data)
{
destroy_aliases(); /* Clear old aliases */
create_aliases();
- return 0;
}
/* The below was mostly taken from the old do_alias */
{
struct Client *target_p;
struct alias_entry *aptr = rb_dictionary_retrieve(alias_dict, msgbuf->cmd);
- char *p, *str;
+ char *p;
if(aptr == NULL)
{
return;
}
- str = reconstruct_parv(parc, parv);
- if(EmptyString(str))
+ msgbuf_reconstruct_tail(msgbuf, 1);
+ if(EmptyString(parv[1]))
{
sendto_one(client_p, form_str(ERR_NOTEXTTOSEND), me.name, target_p->name);
return;
sendto_one(target_p, ":%s PRIVMSG %s :%s",
get_id(client_p, target_p),
p != NULL ? aptr->target : get_id(target_p, target_p),
- str);
+ parv[1]);
}