diff options
Diffstat (limited to 'src/map/unit.c')
-rw-r--r-- | src/map/unit.c | 26 |
1 files changed, 3 insertions, 23 deletions
diff --git a/src/map/unit.c b/src/map/unit.c index 04a8befc2..7c253c5c2 100644 --- a/src/map/unit.c +++ b/src/map/unit.c @@ -34,7 +34,7 @@ #include "map/vending.h" #include "common/HPM.h" #include "common/db.h" -#include "common/malloc.h" +#include "common/memmgr.h" #include "common/nullpo.h" #include "common/random.h" #include "common/showmsg.h" @@ -2654,17 +2654,7 @@ int unit_free(struct block_list *bl, clr_type clrtype) { sd->quest_log = NULL; sd->num_quests = sd->avail_quests = 0; } - - if (sd->hdata) { - unsigned int k; - for( k = 0; k < sd->hdatac; k++ ) { - if( sd->hdata[k]->flag.free ) { - aFree(sd->hdata[k]->data); - } - aFree(sd->hdata[k]); - } - aFree(sd->hdata); - } + HPM->data_store_destroy(&sd->hdata); break; } case BL_PET: @@ -2775,17 +2765,7 @@ int unit_free(struct block_list *bl, clr_type clrtype) { if( md->tomb_nid ) mob->mvptomb_destroy(md); - if (md->hdata) - { - unsigned int k; - for (k = 0; k < md->hdatac; k++) { - if( md->hdata[k]->flag.free ) { - aFree(md->hdata[k]->data); - } - aFree(md->hdata[k]); - } - aFree(md->hdata); - } + HPM->data_store_destroy(&md->hdata); break; } case BL_HOM: |