X-Git-Url: https://www.kengrimes.com/gitweb/?p=henge%2Fapc.git;a=blobdiff_plain;f=src%2Fir.c;h=7c52f3c709cf737385f9321ae4986f7287613529;hp=593bae120d815563638c248acb00936325e3b3c6;hb=8344dfcc506947465ad2292913aac18cc0653dc2;hpb=b503d817730f737819886d20463be80e5935dfb2 diff --git a/src/ir.c b/src/ir.c index 593bae1..7c52f3c 100644 --- a/src/ir.c +++ b/src/ir.c @@ -247,7 +247,7 @@ struct ir_framebox_t* ir_set_add_framebox if (bytes_identical(iter->header.data_name, name)) return iter; if (iter->header.nextsib != NULL) - { iter = iter->header.nextsib; + { iter = iter->header.nextsib.framebox; goto check; } return iter->header.nextsib = struct_alloc(ir_framebox_t); @@ -301,13 +301,13 @@ void ir_set_assign_data while (simplex->header.nextsib != NULL) if (bytes_identical(simplex->header.data_name, setdata->header.data_name)) { wprintf("Duplicate audio %s\n", setdata->header.data_name); - *simplex = *setdata->audio; + *simplex = *(setdata->audio); //setdata->audio is now a pointer to redundant, unused memory. return; } else - simplex = simplex->header.nextsib; - simplex->header.nextsib = setdata->audio; + simplex = simplex->header.nextsib.audio; + simplex->header.nextsib.audio = setdata->audio; break; case LDAT: if (set->links == NULL) @@ -316,8 +316,8 @@ void ir_set_assign_data } link = set->links; while (link->header.nextsib != NULL) - link = link->header.nextsib; - link->header.nextsib = setdata->link; + link = link->header.nextsib.link; + link->header.nextsib.link = setdata->link; break; default: fprintf(stderr, "Unknown setdata type %x\n", setdata->header.type); @@ -326,8 +326,8 @@ void ir_set_assign_data } void ir_set_assign_ref -( ir_set_t* set, - long long ref +( struct ir_set_t* set, + long long ref ) { if (set->ref != 0) wprintf("Ref override: 0x%x -> 0x%x for set %s\n",