summaryrefslogtreecommitdiff
path: root/src/map/instance.c
diff options
context:
space:
mode:
authorAsheraf <acheraf1998@gmail.com>2018-06-25 06:08:51 +0100
committerAsheraf <acheraf1998@gmail.com>2018-07-24 02:15:37 +0100
commit620c55e87019a46ffffc6ffb69bea77df088b904 (patch)
treea7171972c1b207778ce2dc9ac944477ff759ae76 /src/map/instance.c
parentbb301746703582be9f7c30b969f03c1ab14d1228 (diff)
downloadhercules-620c55e87019a46ffffc6ffb69bea77df088b904.tar.gz
hercules-620c55e87019a46ffffc6ffb69bea77df088b904.tar.bz2
hercules-620c55e87019a46ffffc6ffb69bea77df088b904.tar.xz
hercules-620c55e87019a46ffffc6ffb69bea77df088b904.zip
Convert questinfo data into a vector
Diffstat (limited to 'src/map/instance.c')
-rw-r--r--src/map/instance.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/map/instance.c b/src/map/instance.c
index 2c40449ad..9b0ca3ddd 100644
--- a/src/map/instance.c
+++ b/src/map/instance.c
@@ -295,10 +295,10 @@ static int instance_add_map(const char *name, int instance_id, bool usebasename,
}
//Mimic questinfo
- if( map->list[m].qi_count ) {
- map->list[im].qi_count = map->list[m].qi_count;
- CREATE( map->list[im].qi_data, struct questinfo, map->list[im].qi_count );
- memcpy( map->list[im].qi_data, map->list[m].qi_data, map->list[im].qi_count * sizeof(struct questinfo) );
+ VECTOR_INIT(map->list[im].qi_data);
+ VECTOR_ENSURE(map->list[im].qi_data, VECTOR_LENGTH(map->list[m].qi_data), 1);
+ for (i = 0; i < VECTOR_LENGTH(map->list[m].qi_data); i++) {
+ VECTOR_PUSH(map->list[im].qi_data, VECTOR_INDEX(map->list[m].qi_data, i));
}
map->list[im].m = im;
@@ -517,8 +517,7 @@ static void instance_del_map(int16 m)
aFree(map->list[m].zone_mf);
}
- if( map->list[m].qi_data )
- aFree(map->list[m].qi_data);
+ VECTOR_CLEAR(map->list[m].qi_data);
// Remove from instance
for( i = 0; i < instance->list[map->list[m].instance_id].num_map; i++ ) {