From feeb1b0df2e02b06e68e1c6ab53d673798213ba4 Mon Sep 17 00:00:00 2001 From: toms Date: Wed, 23 Aug 2006 13:29:05 +0000 Subject: - Fixed a possible SIGSEGV on buildin_maprespawnguildid if the map is unknown - Added debug on "Inifity loop" to know which script is making this loop git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8451 54d463be-8e91-2dee-dedb-b68131a5f0ec --- Changelog-Trunk.txt | 3 +++ src/login_sql/login.c | 2 +- src/map/script.c | 6 +++++- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index 78fbfad07..99fe009ac 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -3,6 +3,9 @@ Date Added AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK. IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. +2006/08/23 + * Fixed a possible SIGSEGV on buildin_maprespawnguildid if the map is unknown [Toms] + * Added debug on "Inifity loop" to know which script is making this loop [Toms] 2006/08/22 * More fixes to the splash code. Kamaitachi and Sharpshooting should display correctly now. [Skotlex] diff --git a/src/login_sql/login.c b/src/login_sql/login.c index 6adfa48f3..d1f280c24 100644 --- a/src/login_sql/login.c +++ b/src/login_sql/login.c @@ -2300,7 +2300,7 @@ void sql_config_read(const char *cfgName){ /* Kalaspuff, to get login_db */ void do_final(void) { //sync account when terminating. //but no need when you using DBMS (mysql) - ShowStatus("Terminating...\n"); + ShowStatus("Terminating...\n"); mmo_db_close(); online_db->destroy(online_db, NULL); if (gm_account_db) diff --git a/src/map/script.c b/src/map/script.c index cf101f156..40cf9e31a 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -2659,6 +2659,7 @@ void run_script_main(struct script_state *st) st->state = RUN; if( gotocount>0 && (--gotocount)<=0 ){ ShowError("run_script: infinity loop !\n"); + report_src(st); st->state=END; } } @@ -2706,6 +2707,7 @@ void run_script_main(struct script_state *st) } if( cmdcount>0 && (--cmdcount)<=0 ){ ShowError("run_script: infinity loop !\n"); + report_src(st); st->state=END; } } @@ -8591,6 +8593,7 @@ int buildin_maprespawnguildid_sub(struct block_list *bl,va_list ap) } return 0; } + int buildin_maprespawnguildid(struct script_state *st) { char *mapname=conv_str(st,& (st->stack->stack_data[st->start+2])); @@ -8599,7 +8602,8 @@ int buildin_maprespawnguildid(struct script_state *st) int m=map_mapname2mapid(mapname); - if(m) map_foreachinmap(buildin_maprespawnguildid_sub,m,BL_CHAR,g_id,flag); + if(m != -1) + map_foreachinmap(buildin_maprespawnguildid_sub,m,BL_CHAR,g_id,flag); return 0; } -- cgit v1.2.3-70-g09d2