From 39d578de13a46c4b71570646497782812048f72c Mon Sep 17 00:00:00 2001 From: shennetsind Date: Wed, 18 Jul 2012 21:13:40 +0000 Subject: [PATCH] =?UTF-8?q?Fixed=20bugreport:6269=20added=20a=20way=20to?= =?UTF-8?q?=20test=20files=20prior=20to=20@reloadatcommand=20so=20that=20i?= =?UTF-8?q?f=20they=20fail=20to=20read=20the=20server=20doesn't=20get=20st?= =?UTF-8?q?uck=20with=20no=20atcommands=20(and=20no=20way=20to=20reload=20?= =?UTF-8?q?again=20since=20the=20reload=20is=20a=20atcommand=E2=80=A6)=20a?= =?UTF-8?q?lso=20fixed=20a=20memory-release=20missing=20since=20the=20grou?= =?UTF-8?q?p.conf=20stuff=20was=20first=20added.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@16447 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/map/atcommand.c | 18 ++++++++++++++++++ src/map/pc_groups.c | 2 +- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/map/atcommand.c b/src/map/atcommand.c index 8e199ca73a..afa22b3926 100644 --- a/src/map/atcommand.c +++ b/src/map/atcommand.c @@ -3859,6 +3859,22 @@ ACMD_FUNC(reloadskilldb) *------------------------------------------*/ void atcommand_doload(); ACMD_FUNC(reloadatcommand) { + config_t run_test; + + if (conf_read_file(&run_test, "conf/groups.conf")) { + clif_displaymessage(fd, "Error reading groups.conf, can't reload"); + return -1; + } + + config_destroy(&run_test); + + if (conf_read_file(&run_test, ATCOMMAND_CONF_FILENAME)) { + clif_displaymessage(fd, "Error reading atcommand.conf, can't reload"); + return -1; + } + + config_destroy(&run_test); + atcommand_doload(); pc_groups_reload(); clif_displaymessage(fd, msg_txt(254)); @@ -9226,6 +9242,8 @@ void atcommand_db_clear(void) { } if (atcommand_alias_db != NULL) db_destroy(atcommand_alias_db); + + config_destroy(&atcommand_config); } void atcommand_doload(void) { diff --git a/src/map/pc_groups.c b/src/map/pc_groups.c index c6713fedf4..a2bf5f0c5a 100644 --- a/src/map/pc_groups.c +++ b/src/map/pc_groups.c @@ -96,7 +96,7 @@ static void read_config(void) return; groups = config_lookup(&pc_group_config, "groups"); - + if (groups != NULL) { GroupSettings *group_settings = NULL; DBIterator *iter = NULL;