summaryrefslogtreecommitdiff
path: root/src/common
diff options
context:
space:
mode:
Diffstat (limited to 'src/common')
-rw-r--r--src/common/plugins.c3
-rw-r--r--src/common/socket.c2
-rw-r--r--src/common/timer.c6
-rw-r--r--src/common/timer.h4
4 files changed, 10 insertions, 5 deletions
diff --git a/src/common/plugins.c b/src/common/plugins.c
index 09ce15da3..ac8c4a7ee 100644
--- a/src/common/plugins.c
+++ b/src/common/plugins.c
@@ -346,7 +346,8 @@ void plugins_init(void)
export_symbol(addr_, SYMBOL_ADDR);
// timers
export_symbol(get_uptime, SYMBOL_GET_UPTIME);
- export_symbol(delete_timer, SYMBOL_DELETE_TIMER);
+// export_symbol(delete_timer, SYMBOL_DELETE_TIMER);
+ export_symbol(delete_timer_sub, SYMBOL_DELETE_TIMER);
export_symbol(add_timer_func_list, SYMBOL_ADD_TIMER_FUNC_LIST);
export_symbol(add_timer_interval, SYMBOL_ADD_TIMER_INTERVAL);
export_symbol(add_timer, SYMBOL_ADD_TIMER);
diff --git a/src/common/socket.c b/src/common/socket.c
index beb658144..e8c4f68ab 100644
--- a/src/common/socket.c
+++ b/src/common/socket.c
@@ -1076,7 +1076,7 @@ int RFIFOSKIP(int fd,int len)
s = session[fd];
- if ( s->rdata_size - s->rdata_pos - len < 0 ) {
+ if ( s->rdata_size < s->rdata_pos + len ) {
//fprintf(stderr,"too many skip\n");
//exit(1);
//better than a COMPLETE program abort // TEST! :)
diff --git a/src/common/timer.c b/src/common/timer.c
index c7be0ab8f..6c228839c 100644
--- a/src/common/timer.c
+++ b/src/common/timer.c
@@ -270,10 +270,12 @@ int add_timer_interval(unsigned int tick, TimerFunc func, int id, int data, int
return tid;
}
-int delete_timer(int id, TimerFunc func)
+//int delete_timer(int id, TimerFunc func)
+int delete_timer_sub(int id, TimerFunc func, const char* file, int line)
{
if (id <= 0 || id >= timer_data_num) {
- ShowError("delete_timer error : no such timer %d (%08x(%s))\n", id, (int)func, search_timer_func_list(func));
+ //ShowError("delete_timer error : no such timer %d (%08x(%s))\n", id, (int)func, search_timer_func_list(func));
+ ShowError("delete_timer error : no such timer %d (%08x(%s)), invoked from %s:%d\n", id, (int)func, search_timer_func_list(func), file, line);
return -1;
}
if (timer_data[id].func != func) {
diff --git a/src/common/timer.h b/src/common/timer.h
index 243b12e7d..4b683d966 100644
--- a/src/common/timer.h
+++ b/src/common/timer.h
@@ -41,7 +41,9 @@ unsigned int gettick(void);
int add_timer(unsigned int,TimerFunc f,int,int);
int add_timer_interval(unsigned int tick, TimerFunc func, int id, int data, int interval);
-int delete_timer(int,TimerFunc f);
+//int delete_timer(int,TimerFunc f);
+int delete_timer_sub(int,TimerFunc f, const char* file, int line);
+#define delete_timer(id, f) delete_timer_sub(id, f, __FILE__, __LINE__)
int addtick_timer(int tid,unsigned int tick);
int settick_timer(int tid,unsigned int tick);