X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Fhb-archive.c;h=628e978a9ce7c0ec4125909f3cc16d7a54e04ad4;hb=35b9973e4de7d69ad8841ead996a2e6cf1d85f08;hp=0e88c48549f243252fb63d64c87738d249ff8291;hpb=d11c8dd3275ed2a4a35598e69c0804dcf9435766;p=chaz%2Fhomebank diff --git a/src/hb-archive.c b/src/hb-archive.c index 0e88c48..628e978 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 */ /****************************************************************************/ @@ -38,13 +41,13 @@ 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) { @@ -60,7 +63,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->memo != NULL) g_free(item->memo); @@ -68,7 +71,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); } }