From 66b2cadb9bcb6ad125cb18cdbea903a63ad0d925 Mon Sep 17 00:00:00 2001 From: skotlex Date: Fri, 26 Jan 2007 18:49:46 +0000 Subject: - Added a wrapper to delete_timer so it prints out from where the invocation was done. - Fixed some unsigned warnings. - Fixed Splash attacks consuming 2 ammo on each attack. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9718 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/common/plugins.c | 3 ++- src/common/socket.c | 2 +- src/common/timer.c | 6 ++++-- src/common/timer.h | 4 +++- 4 files changed, 10 insertions(+), 5 deletions(-) (limited to 'src/common') 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); -- cgit v1.2.3-70-g09d2