X-Git-Url: https://www.kengrimes.com/gitweb/?p=henge%2Fwebcc.git;a=blobdiff_plain;f=src%2Fapc%2Firmem.c;fp=src%2Fapc%2Firmem.c;h=dc5cede44649e33a11d3c62a3be966612b6bd6af;hp=28234d85e715dd2adbe079667d4e74542528bc71;hb=a4a313fb5b371a532372c59cef7b0124b8f82375;hpb=92d574d704e54743631464fac3ce739b1077222c diff --git a/src/apc/irmem.c b/src/apc/irmem.c index 28234d8..dc5cede 100644 --- a/src/apc/irmem.c +++ b/src/apc/irmem.c @@ -51,7 +51,7 @@ inc_posts(void); #define CURR_QUAD (CURR_ODAT->quad_list[CURR_ODAT->num_quads]) -int num_cdats = -1; +int num_cdats = 0; int curr_max_cdats = PTRS_IN_PAGE; struct cdat* cdat_buf[PTRS_IN_PAGE]; @@ -93,7 +93,7 @@ ir_init() char root[4] = "root"; cdat_buf[num_cdats] = (struct cdat*) malloc(sizeof(struct cdat) ); - cdat_buf[num_cdats]->idx = 0; + cdat_buf[num_cdats]->idx = num_cdats; memmove(cdat_buf[num_cdats]->name, root, 4); cdat_stackp = cdat_stack; @@ -101,6 +101,34 @@ ir_init() } +void +ir_quit() +{ + int i; + + for(i = 0; i <= num_odats ; i++) + { + free(odat_buf[i]); + } + for(i = 0; i <= num_cdats; i++) + { + free(cdat_buf[i]); + } + for(i = 0; i <= num_vdats; i++) + { + free(vdat_buf[i]); + } + for(i = 0; i <= num_refs; i++) + { + free(ref_buf[i]); + } + for(i = 0; i<= num_links; i++) + { + free(link_buf[i]); + } + +} + //TODO: FREE MEMORY! struct cdat* alloc_cdat()