( struct ir_set_t* set )\r
{ return (union ir_setdata_t*) set->links; }\r
\r
-#define assert_link(linkdata) do { \\r
+#define assert_link(linkdata) if (DEBUG) { \\r
if (linkdata->header.type != LDAT) \\r
eprintf("Data %s is not a link\n", linkdata->header.data_name); \\r
- } while (0)\r
+ }\r
\r
/* Return the link type */\r
enum ltype ir_linkdata_type\r
linkdata->link.trg_set = set;\r
}\r
\r
+/* Assign a linkdatas trg_set */\r
+void ir_linkdata_assign_set\r
+( union ir_setdata_t* link, struct ir_set_t* set )\r
+{ assert_link(link);\r
+ link->link.trg_set = set;\r
+}\r
+\r
+/* Assign a linkdatas type */\r
+void ir_linkdata_assign_type\r
+( union ir_setdata_t* link, enum ltype type )\r
+{ assert_link(link);\r
+ link->link.type = type;\r
+}\r
+\r
/* Get a setdata's next sibling */\r
union ir_setdata_t* ir_setdata_nextsib\r
( union ir_setdata_t* setdata )\r
)\r
{ setdata->header.filepos = newpos; }\r
\r
+/* Assign a setdatas name */\r
+void ir_setdata_assign_name\r
+( union ir_setdata_t* setdata, uint8_t* name )\r
+{ setdata->header.data_name = name;}\r
+\r
/* Return a framebox's specified framesheet */\r
union ir_setdata_t* ir_framebox_framesheet\r
( union ir_setdata_t* fbox,\r