From 8e852c55ed530007343e293bf5c8fdb9fd53e322 Mon Sep 17 00:00:00 2001 From: FlavioJS Date: Tue, 19 Feb 2008 16:55:13 +0000 Subject: * Forgotten update to the definition of script command 'input'. * Enabled DEBUG_MEMMGR only in DEBUG mode. * Made autotrading characters be kicked instead of reporting double login. * Made create_session initialize session_data to NULL. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12218 54d463be-8e91-2dee-dedb-b68131a5f0ec --- Changelog-Trunk.txt | 4 ++++ src/common/malloc.c | 2 ++ src/common/socket.c | 1 + src/map/clif.c | 6 +++++- src/map/script.c | 2 +- 5 files changed, 13 insertions(+), 2 deletions(-) diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index 6847824a3..2b8d6572c 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -4,6 +4,10 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. 2007/02/19 + * Forgotten update to the definition of script command 'input'. + * Enabled DEBUG_MEMMGR only in DEBUG mode. + * Made autotrading characters be kicked instead of reporting double login. + * Made create_session initialize session_data to NULL. * Fixed db_obj_get not handling deleted nodes correctly. (bugreport:999) [FlavioJS] 2008/02/17 * corrected login_fd/char_fd being uninitialized in the char servers. diff --git a/src/common/malloc.c b/src/common/malloc.c index 90efd04ee..93d03107b 100644 --- a/src/common/malloc.c +++ b/src/common/malloc.c @@ -112,7 +112,9 @@ char* _bstrdup(const char *chr) #ifdef USE_MEMMGR +#if defined(DEBUG) #define DEBUG_MEMMGR +#endif /* USE_MEMMGR */ diff --git a/src/common/socket.c b/src/common/socket.c index 2dd860715..995aabedb 100644 --- a/src/common/socket.c +++ b/src/common/socket.c @@ -528,6 +528,7 @@ static int create_session(int fd, RecvFunc func_recv, SendFunc func_send, ParseF session[fd]->func_send = func_send; session[fd]->func_parse = func_parse; session[fd]->rdata_tick = last_tick; + session[fd]->session_data = NULL; return 0; } diff --git a/src/map/clif.c b/src/map/clif.c index 209f32e0b..c94a02bca 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -7648,7 +7648,11 @@ void clif_parse_WantToConnection(int fd, TBL_PC* sd) return; } else if( map_knowsaccount(account_id) ) {// double login - ShowError("clif_parse_WantToConnection: double login attempt AID/CID: %d/%d, rejecting...\n", account_id, char_id); + sd = map_id2sd(acount_id); + if( sd && sd->state.autotrade ) + map_quit(sd);// kick autotrading character + else + ShowError("clif_parse_WantToConnection: double login attempt AID/CID: %d/%d, rejecting...\n", account_id, char_id); WFIFOHEAD(fd,packet_len(0x6a)); WFIFOW(fd,0) = 0x6a; WFIFOB(fd,2) = 3; // Rejected by server diff --git a/src/map/script.c b/src/map/script.c index 46fecb806..fddf51169 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -13070,7 +13070,7 @@ struct script_function buildin_func[] = { BUILDIN_DEF(getarg,"i?"), BUILDIN_DEF(jobchange,"i*"), BUILDIN_DEF(jobname,"i"), - BUILDIN_DEF(input,"v"), + BUILDIN_DEF(input,"v??"), BUILDIN_DEF(warp,"sii"), BUILDIN_DEF(areawarp,"siiiisii"), BUILDIN_DEF(warpchar,"siii"), // [LuzZza] -- cgit v1.2.3-60-g2f50