summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changelog-Trunk.txt3
-rw-r--r--src/login_sql/login.c2
-rw-r--r--src/map/script.c6
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;
}