if (bytes_identical(iter->header.data_name, name))\r
return iter;\r
if (iter->header.nextsib != NULL)\r
- { iter = iter->header.nextsib;\r
+ { iter = iter->header.nextsib.framebox;\r
goto check;\r
}\r
return iter->header.nextsib = struct_alloc(ir_framebox_t);\r
while (simplex->header.nextsib != NULL)\r
if (bytes_identical(simplex->header.data_name, setdata->header.data_name))\r
{ wprintf("Duplicate audio %s\n", setdata->header.data_name);\r
- *simplex = *setdata->audio;\r
+ *simplex = *(setdata->audio);\r
//setdata->audio is now a pointer to redundant, unused memory.\r
return;\r
}\r
else\r
- simplex = simplex->header.nextsib;\r
- simplex->header.nextsib = setdata->audio;\r
+ simplex = simplex->header.nextsib.audio;\r
+ simplex->header.nextsib.audio = setdata->audio;\r
break;\r
case LDAT:\r
if (set->links == NULL)\r
}\r
link = set->links;\r
while (link->header.nextsib != NULL)\r
- link = link->header.nextsib;\r
- link->header.nextsib = setdata->link;\r
+ link = link->header.nextsib.link;\r
+ link->header.nextsib.link = setdata->link;\r
break;\r
default:\r
fprintf(stderr, "Unknown setdata type %x\n", setdata->header.type);\r
}\r
\r
void ir_set_assign_ref\r
-( ir_set_t* set,\r
- long long ref\r
+( struct ir_set_t* set,\r
+ long long ref\r
)\r
{ if (set->ref != 0)\r
wprintf("Ref override: 0x%x -> 0x%x for set %s\n",\r