From: ken Date: Sat, 18 Feb 2017 19:19:36 +0000 (-0800) Subject: fixes X-Git-Url: https://git.kengrimes.com/?p=henge%2Fapc.git;a=commitdiff_plain;h=f709df33569630f2056edc0c5c336949c6da8b92 fixes --- diff --git a/src/ir.c b/src/ir.c index 10c053e..27b4d15 100644 --- a/src/ir.c +++ b/src/ir.c @@ -619,10 +619,10 @@ union ir_setdata_t* ir_set_link ( struct ir_set_t* set ) { return (union ir_setdata_t*) set->links; } -#define assert_link(linkdata) do { \ +#define assert_link(linkdata) if (DEBUG) { \ if (linkdata->header.type != LDAT) \ eprintf("Data %s is not a link\n", linkdata->header.data_name); \ - } while (0) + } /* Return the link type */ enum ltype ir_linkdata_type @@ -724,13 +724,17 @@ void ir_linkdata_resolve_set /* Assign a linkdatas trg_set */ void ir_linkdata_assign_set -( struct ir_link_t* link, struct ir_set_t* set ) -{ link->trg_set = set; } +( union ir_setdata_t* link, struct ir_set_t* set ) +{ assert_link(link); + link->link.trg_set = set; +} /* Assign a linkdatas type */ void ir_linkdata_assign_type -( struct ir_link_t* link, ltype type; ) -{ link->type = type; } +( union ir_setdata_t* link, enum ltype type ) +{ assert_link(link); + link->link.type = type; +} /* Get a setdata's next sibling */ union ir_setdata_t* ir_setdata_nextsib diff --git a/src/ir.h b/src/ir.h index cce1e79..8f6f647 100644 --- a/src/ir.h +++ b/src/ir.h @@ -97,7 +97,8 @@ linkdata ir_set_link(ir_set); enum ltype ir_linkdata_type(linkdata); uint32_t ir_linkdata_ref(linkdata); ir_set ir_linkdata_set(linkdata); -void ir_linkdata_assign_set(ir_set); +void ir_linkdata_assign_set(linkdata,ir_set); +void ir_linkdata_assign_type(linkdata,enum ltype); ir_setdata ir_setdata_nextsib(ir_setdata); uint8_t* ir_setdata_name(ir_setdata); uint8_t* ir_setdata_filename(ir_setdata);