From: Jordan Date: Wed, 11 Jan 2017 23:16:59 +0000 (-0800) Subject: fixes X-Git-Url: https://www.kengrimes.com/gitweb/?p=henge%2Fapc.git;a=commitdiff_plain;h=8344dfcc506947465ad2292913aac18cc0653dc2 fixes --- 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",