summaryrefslogtreecommitdiff
path: root/src/map/party.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/party.c')
-rw-r--r--src/map/party.c31
1 files changed, 17 insertions, 14 deletions
diff --git a/src/map/party.c b/src/map/party.c
index 668251b5d..1df916630 100644
--- a/src/map/party.c
+++ b/src/map/party.c
@@ -103,15 +103,17 @@ int party_db_final(DBKey key, DBData *data, va_list ap) {
if( p->instance )
aFree(p->instance);
-
- for( j = 0; j < p->hdatac; j++ ) {
- if( p->hdata[j]->flag.free ) {
- aFree(p->hdata[j]->data);
+
+ if (p->hdata)
+ {
+ for (j = 0; j < p->hdatac; j++) {
+ if (p->hdata[j]->flag.free) {
+ aFree(p->hdata[j]->data);
+ }
+ aFree(p->hdata[j]);
}
- aFree(p->hdata[j]);
- }
- if( p->hdata )
aFree(p->hdata);
+ }
}
return 0;
@@ -609,15 +611,16 @@ int party_broken(int party_id)
if( p->instance )
aFree(p->instance);
- for( j = 0; j < p->hdatac; j++ ) {
- if( p->hdata[j]->flag.free ) {
- aFree(p->hdata[j]->data);
- }
- aFree(p->hdata[j]);
- }
if( p->hdata )
+ {
+ for( j = 0; j < p->hdatac; j++ ) {
+ if( p->hdata[j]->flag.free ) {
+ aFree(p->hdata[j]->data);
+ }
+ aFree(p->hdata[j]);
+ }
aFree(p->hdata);
-
+ }
idb_remove(party->db,party_id);
return 0;
}