Fixed atcommand aliases memory leak, bugreport:5200

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15383 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
shennetsind 2012-01-04 04:50:43 +00:00
parent 9558a9cace
commit 21b0b61a99

View File

@ -9332,10 +9332,25 @@ int atcommand_config_read(const char* cfgName)
return 0;
}
static int atcommand_db_free(DBKey key,void *data,va_list va) {
aFree((AtCommandInfo*)data);
return 1;
}
void atcommand_db_clear() {
atcommand_db->foreach(atcommand_db,atcommand_db_free);
db_destroy(atcommand_db);
return;
}
void atcommand_doload() {
if( atcommand_db != NULL )
db_destroy(atcommand_db);
atcommand_db_clear();
atcommand_db = stridb_alloc(DB_OPT_DUP_KEY, 0);
atcommand_basecommands();//fills initial atcommand_db with known commands
@ -9356,7 +9371,7 @@ void do_init_atcommand() {
void do_final_atcommand() {
db_destroy(atcommand_db);
atcommand_db_clear();
return;
}