binds[TYPE] = cbind; \
return 1; \
} \
+ return 0; \
}
#define FUNC_UNBIND(NAME,FUNCTYPE,TYPE) \
#define FUNC_EVENT(NAME,FUNCTYPE,TYPE,PDECLARATION,PLIST) \
int event_##NAME PDECLARATION { \
struct binding *cbind; \
- for(cbind = binds[TYPE]; cbind; cbind = next) { \
+ for(cbind = binds[TYPE]; cbind; cbind = cbind->next) { \
FUNCTYPE *func = cbind->func; \
func PLIST; \
} \
FUNC_BIND(nick, nick_func_t, BIND_TYPE_NICK)
FUNC_UNBIND(nick, nick_func_t, BIND_TYPE_NICK)
-FUNC_EVENT(nick, nick_func_t, BIND_TYPE_NICK, (struct UserNode *user, char *new_nick), (user, newnick))
+FUNC_EVENT(nick, nick_func_t, BIND_TYPE_NICK, (struct UserNode *user, char *new_nick), (user, new_nick))
FUNC_BIND(part, part_func_t, BIND_TYPE_PART)
FUNC_UNBIND(part, part_func_t, BIND_TYPE_PART)
typedef void join_func_t(struct ChanUser *chanuser);
int bind_join(join_func_t *func);
-int unbind_join(join_func_t *func);
+void unbind_join(join_func_t *func);
int event_join(struct ChanUser *chanuser);
typedef void nick_func_t(struct UserNode *user, char *new_nick);
int bind_nick(nick_func_t *func);
-int unbind_nick(nick_func_t *func);
+void unbind_nick(nick_func_t *func);
int event_nick(struct UserNode *user, char *new_nick);
typedef void part_func_t(struct ChanUser *chanuser, char *reason);
int bind_part(part_func_t *func);
-int unbind_part(part_func_t *func);
+void unbind_part(part_func_t *func);
int event_part(struct ChanUser *chanuser, char *reason);
typedef void quit_func_t(struct UserNode *user, char *reason);
int bind_quit(quit_func_t *func);
-int unbind_quit(quit_func_t *func);
+void unbind_quit(quit_func_t *func);
int event_quit(struct UserNode *user, char *reason);
typedef void kick_func_t(struct UserNode *user, struct ChanUser *target, char *reason);
int bind_kick(kick_func_t *func);
-int unbind_kick(kick_func_t *func);
+void unbind_kick(kick_func_t *func);
int event_kick(struct UserNode *user, struct ChanUser *target, char *reason);
typedef void topic_func_t(struct UserNode *user, struct ChanNode *chan, const char *new_topic);
int bind_topic(topic_func_t *func);
-int unbind_topic(topic_func_t *func);
+void unbind_topic(topic_func_t *func);
int event_topic(struct UserNode *user, struct ChanNode *chan, const char *new_topic);
typedef void mode_func_t(struct UserNode *user, struct ChanNode *chan, char *modes, char **argv, int argc);
int bind_mode(mode_func_t *func);
-int unbind_mode(mode_func_t *func);
+void unbind_mode(mode_func_t *func);
int event_mode(struct UserNode *user, struct ChanNode *chan, char *modes, char **argv, int argc);
typedef void chanmsg_func_t(struct UserNode *user, struct ChanNode *chan, char *message);
int bind_chanmsg(chanmsg_func_t *func);
-int unbind_chanmsg(chanmsg_func_t *func);
+void unbind_chanmsg(chanmsg_func_t *func);
int event_chanmsg(struct UserNode *user, struct ChanNode *chan, char *message);
typedef void privmsg_func_t(struct UserNode *user, struct UserNode *target, char *message);
int bind_privmsg(privmsg_func_t *func);
-int unbind_privmsg(privmsg_func_t *func);
+void unbind_privmsg(privmsg_func_t *func);
int event_privmsg(struct UserNode *user, struct UserNode *target, char *message);
typedef void channotice_func_t(struct UserNode *user, struct ChanNode *chan, char *message);
int bind_channotice(channotice_func_t *func);
-int unbind_channotice(channotice_func_t *func);
+void unbind_channotice(channotice_func_t *func);
int event_channotice(struct UserNode *user, struct ChanNode *chan, char *message);
typedef void privnotice_func_t(struct UserNode *user, struct UserNode *target, char *message);
int bind_privnotice(privnotice_func_t *func);
-int unbind_privnotice(privnotice_func_t *func);
+void unbind_privnotice(privnotice_func_t *func);
int event_privnotice(struct UserNode *user, struct UserNode *target, char *message);
typedef void chanctcp_func_t(struct UserNode *user, struct ChanNode *chan, char *command, char *text);
int bind_chanctcp(chanctcp_func_t *func);
-int unbind_chanctcp(chanctcp_func_t *func);
+void unbind_chanctcp(chanctcp_func_t *func);
int event_chanctcp(struct UserNode *user, struct ChanNode *chan, char *command, char *text);
typedef void privctcp_func_t(struct UserNode *user, struct UserNode *target, char *command, char *text);
int bind_privctcp(privctcp_func_t *func);
-int unbind_privctcp(privctcp_func_t *func);
+void unbind_privctcp(privctcp_func_t *func);
int event_privctcp(struct UserNode *user, struct UserNode *target, char *command, char *text);
typedef void invite_func_t(struct UserNode *user, char *channel);
int bind_invite(invite_func_t *func);
-int unbind_invite(invite_func_t *func);
+void unbind_invite(invite_func_t *func);
int event_invite(struct UserNode *user, char *channel);
typedef void raw_func_t(struct ClientSocket *client, char *from, char *cmd, char **argv, int argc);
int bind_raw(raw_func_t *func);
-int unbind_raw(raw_func_t *func);
+void unbind_raw(raw_func_t *func);
int event_raw(struct ClientSocket *client, char *from, char *cmd, char **argv, int argc);