diff options
author | shennetsind <ind@henn.et> | 2014-02-21 12:56:59 -0300 |
---|---|---|
committer | shennetsind <ind@henn.et> | 2014-02-21 12:56:59 -0300 |
commit | 5421a7e4e6368a5e6e1438043f8e9b9dd5533fc9 (patch) | |
tree | be374d9a5f66d4f2e93cdb687859a8ef178e96be | |
parent | 3e85baef7618f254e660c991b079f3b8b2a48d9c (diff) | |
download | hercules-5421a7e4e6368a5e6e1438043f8e9b9dd5533fc9.tar.gz hercules-5421a7e4e6368a5e6e1438043f8e9b9dd5533fc9.tar.bz2 hercules-5421a7e4e6368a5e6e1438043f8e9b9dd5533fc9.tar.xz hercules-5421a7e4e6368a5e6e1438043f8e9b9dd5533fc9.zip |
Follow up a7d421274b308f7d9cc4ac39935beae851b29b97
Ensured same vars are also cleared upon shutdown.
Signed-off-by: shennetsind <ind@henn.et>
-rw-r--r-- | src/map/chrif.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/map/chrif.c b/src/map/chrif.c index a09284830..301c8ec66 100644 --- a/src/map/chrif.c +++ b/src/map/chrif.c @@ -1617,9 +1617,16 @@ void chrif_del_scdata_single(int account_id, int char_id, short type) { int auth_db_final(DBKey key, DBData *data, va_list ap) { struct auth_node *node = DB->data2ptr(data); - if (node->sd) + if (node->sd) { + + if( node->sd->var_db ) + node->sd->var_db->destroy(node->sd->var_db,script->reg_destroy); + + if( node->sd->array_db ) + node->sd->array_db->destroy(node->sd->array_db,script->array_free_db); + aFree(node->sd); - + } ers_free(chrif->auth_db_ers, node); return 0; |