projects
/
NeonServV5.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
do not throw PARSE ERRORs for "NOTICE AUTH" RAWs
[NeonServV5.git]
/
src
/
IRCEvents.c
diff --git
a/src/IRCEvents.c
b/src/IRCEvents.c
index a2b7717c7488e7cd9e9909fcd145ee34d06d47dc..2eea34d8ecc1067bddf693e2a721b6a748abeee7 100644
(file)
--- a/
src/IRCEvents.c
+++ b/
src/IRCEvents.c
@@
-1,4
+1,4
@@
-/* IRCEvents.c - NeonServ v5.
5
+/* IRCEvents.c - NeonServ v5.
6
* Copyright (C) 2011-2012 Philipp Kreil (pk910)
*
* This program is free software: you can redistribute it and/or modify
* Copyright (C) 2011-2012 Philipp Kreil (pk910)
*
* This program is free software: you can redistribute it and/or modify
@@
-21,6
+21,7
@@
#include "ChanUser.h"
#include "ClientSocket.h"
#include "mysqlConn.h"
#include "ChanUser.h"
#include "ClientSocket.h"
#include "mysqlConn.h"
+#include "log.h"
struct binding {
void *func;
struct binding {
void *func;
@@
-49,8
+50,9
@@
static void **binds = NULL;
#define BIND_TYPE_FREEUSER 17
#define BIND_TYPE_FREECHAN 18
#define BIND_TYPE_RELOAD 19
#define BIND_TYPE_FREEUSER 17
#define BIND_TYPE_FREECHAN 18
#define BIND_TYPE_RELOAD 19
+#define BIND_TYPE_FREECLIENT 20
-#define TOTAL_BIND_TYPES 2
0
+#define TOTAL_BIND_TYPES 2
1
void init_bind() {
if(binds)
void init_bind() {
if(binds)
@@
-104,7
+106,7
@@
int bind_##NAME(FUNCTYPE *func, int module_id) { \
if(!is_bound(TYPE, func)) { \
struct binding *cbind = malloc(sizeof(*cbind)); \
if (!cbind) { \
if(!is_bound(TYPE, func)) { \
struct binding *cbind = malloc(sizeof(*cbind)); \
if (!cbind) { \
- p
error("malloc() failed"
); \
+ p
rintf_log("main", LOG_ERROR, "%s:%d malloc() failed", __FILE__, __LINE__
); \
return 0; \
} \
cbind->func = func; \
return 0; \
} \
cbind->func = func; \
@@
-229,3
+231,7
@@
FUNC_EVENT(freechan, freechan_func_t, BIND_TYPE_FREECHAN, (struct ChanNode *chan
FUNC_BIND(reload, reload_func_t, BIND_TYPE_RELOAD)
FUNC_UNBIND(reload, reload_func_t, BIND_TYPE_RELOAD)
FUNC_EVENT(reload, reload_func_t, BIND_TYPE_RELOAD, (int initialization), (initialization))
FUNC_BIND(reload, reload_func_t, BIND_TYPE_RELOAD)
FUNC_UNBIND(reload, reload_func_t, BIND_TYPE_RELOAD)
FUNC_EVENT(reload, reload_func_t, BIND_TYPE_RELOAD, (int initialization), (initialization))
+
+FUNC_BIND(freeclient, freeclient_func_t, BIND_TYPE_FREECLIENT)
+FUNC_UNBIND(freeclient, freeclient_func_t, BIND_TYPE_FREECLIENT)
+FUNC_EVENT(freeclient, freeclient_func_t, BIND_TYPE_FREECLIENT, (struct ClientSocket *client), (client))