X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Fhb-archive.c;h=e0789de31bb5f7c45e08f32b1640a002bab1147f;hb=88ee1e67be75d5618016c6f0685c91e38966774e;hp=43cfbeac68dc2908a8908a31185bd89c0fe35733;hpb=2ef3e601408ebaeeaf5f40d6967664b012a49979;p=chaz%2Fhomebank diff --git a/src/hb-archive.c b/src/hb-archive.c index 43cfbea..e0789de 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); } }