X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Fhb-archive.c;fp=src%2Fhb-archive.c;h=d815703fc5067af1b3d96dad8aad4d1509e70635;hb=613fd4014fa5814bf2adce50574d520df8927ce1;hp=c552f85d60ec02b867a7b9e2fb01de3fa94e0b28;hpb=59c5e08a64798d4303ae7eb3a2713bc93d98fa7b;p=chaz%2Fhomebank diff --git a/src/hb-archive.c b/src/hb-archive.c index c552f85..d815703 100644 --- a/src/hb-archive.c +++ b/src/hb-archive.c @@ -21,6 +21,9 @@ #include "hb-archive.h" #include "hb-split.h" +#include "ext.h" +#include "refcount.h" + /****************************************************************************/ /* Debug macros */ /****************************************************************************/ @@ -41,12 +44,12 @@ extern struct HomeBank *GLOBALS; Archive *da_archive_malloc(void) { - return g_malloc0(sizeof(Archive)); + return rc_alloc(sizeof(Archive)); } Archive *da_archive_clone(Archive *src_item) { -Archive *new_item = g_memdup(src_item, sizeof(Archive)); +Archive *new_item = rc_dup(src_item, sizeof(Archive)); if(new_item) { @@ -61,7 +64,7 @@ Archive *new_item = g_memdup(src_item, sizeof(Archive)); void da_archive_free(Archive *item) { - if(item != NULL) + if(rc_unref(item)) { if(item->wording != NULL) g_free(item->wording); @@ -69,7 +72,7 @@ void da_archive_free(Archive *item) da_splits_free(item->splits); //item->flags &= ~(OF_SPLIT); //Flag that Splits are cleared - g_free(item); + rc_free(item); } }