Преглед изворни кода

* 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://svn.code.sf.net/p/rathena/svn/trunk@12218 54d463be-8e91-2dee-dedb-b68131a5f0ec

FlavioJS пре 17 година
родитељ
комит
e8c226e1f3
5 измењених фајлова са 13 додато и 2 уклоњено
  1. 4 0
      Changelog-Trunk.txt
  2. 2 0
      src/common/malloc.c
  3. 1 0
      src/common/socket.c
  4. 5 1
      src/map/clif.c
  5. 1 1
      src/map/script.c

+ 4 - 0
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.

+ 2 - 0
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 */
 

+ 1 - 0
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;
 }
 

+ 5 - 1
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

+ 1 - 1
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]