X-Git-Url: https://www.kengrimes.com/gitweb/?p=henge%2Fapc.git;a=blobdiff_plain;f=src%2Fir.c;h=f39f85b2371f700a6e8cbc98091f6ee4d62ad17d;hp=b68142e78ab1903243d7f7716d79818bf25a0809;hb=78ec1b2aecefbd7f6839f54c52b2dd6e3f80bf1a;hpb=4c97482a33d6066134b35d26bf6808476950d728 diff --git a/src/ir.c b/src/ir.c index b68142e..f39f85b 100644 --- a/src/ir.c +++ b/src/ir.c @@ -215,9 +215,14 @@ struct ir_class_t* ir_class_addchild const uint8_t* name ) { struct ir_class_t* iter; + printf("Class %s, addchild %s\n", class->name, name); if (class->nextchild == NULL) - return class->nextchild = struct_alloc(ir_class_t); + goto alloc; iter = class->nextchild; + if (iter->name == NULL) + eprintf("Null name pointer in class %p\n", iter); + if (name == NULL) + eprintf("Null child added to class %s\n", iter->name); check: if (bytes_identical(iter->name, name)) return iter; @@ -225,6 +230,7 @@ struct ir_class_t* ir_class_addchild { iter = iter->nextsib; goto check; } + alloc: iter = struct_alloc(ir_class_t); iter->nextsib = class->nextchild; iter->name = name_alloc(name); @@ -240,9 +246,14 @@ struct ir_set_t* ir_class_addset const uint8_t* name ) { struct ir_set_t* iter; + printf("Class %s, addset %s\n", class->name, name); if (class->root_set == NULL) - return class->root_set = struct_alloc(ir_set_t); + goto alloc; iter = class->root_set; + if (iter->name == NULL) + eprintf("Null name pointer in class %p\n", iter); + if (name == NULL) + eprintf("Null set added to class %s\n", iter->name); check: if (bytes_identical(iter->name, name)) return iter; @@ -250,6 +261,7 @@ struct ir_set_t* ir_class_addset { iter = iter->nextsib; goto check; } + alloc: iter = struct_alloc(ir_set_t); iter->nextsib = class->root_set; iter->name = name_alloc(name); @@ -265,9 +277,14 @@ struct ir_set_t* ir_set_addchild const uint8_t* name ) { struct ir_set_t* iter; + printf("Set %s, addchild %s\n", set->name, name); if (set->nextchild == NULL) - return set->nextchild = struct_alloc(ir_set_t); + goto alloc; iter = set->nextchild; + if (iter->name == NULL) + eprintf("Null name pointer in set %p\n", iter); + if (name == NULL) + eprintf("Null child added to set %s\n", iter->name); check: if (bytes_identical(iter->name, name)) return iter; @@ -275,6 +292,7 @@ struct ir_set_t* ir_set_addchild { iter = iter->nextsib; goto check; } + alloc: iter = struct_alloc(ir_set_t); iter->nextsib = set->nextchild; iter->name = name_alloc(name); @@ -292,7 +310,7 @@ struct ir_framebox_t* ir_set_add_framebox ) { struct ir_framebox_t* iter; if (set->frameboxes == NULL) - return set->frameboxes = struct_alloc(ir_framebox_t); + goto alloc; iter = set->frameboxes; check: if (bytes_identical(iter->header.data_name, name)) @@ -301,6 +319,7 @@ struct ir_framebox_t* ir_set_add_framebox { iter = (struct ir_framebox_t*) iter->header.nextsib; goto check; } + alloc: iter = struct_alloc(ir_framebox_t); iter->header.nextsib = (union ir_setdata_t*) set->frameboxes; iter->header.data_name = name_alloc(name); @@ -390,7 +409,9 @@ void ir_data_assign_path ( union ir_setdata_t* setdata, const uint8_t* path ) -{ if (setdata->header.src_filename != NULL) +{ if (path == NULL) + eprintf("Null path in data %s\n", setdata->header.data_name); + if (setdata->header.src_filename != NULL) wprintf("Path override: %s -> %s for setdata %s\n", setdata->header.src_filename, path, setdata->header.data_name); setdata->header.src_filename = name_alloc(path); @@ -421,6 +442,8 @@ union ir_setdata_t* ir_framedata int height ) { struct ir_framedata_t* framedata = struct_alloc(ir_framedata_t); + if (name == NULL) + eprint("Null name in set allocation\n"); framedata->header.type = type; framedata->header.data_name = name_alloc(name); framedata->frameinfo.facing = d; @@ -432,6 +455,8 @@ union ir_setdata_t* ir_framedata union ir_setdata_t* ir_audio ( const uint8_t* name ) { struct ir_simplex_t* audio = struct_alloc(ir_simplex_t); + if (name == NULL) + eprint("Null audio\n"); audio->header.type = ADAT; audio->header.data_name = name_alloc(name); return (union ir_setdata_t*) audio; @@ -442,6 +467,8 @@ union ir_setdata_t* ir_audio struct ir_classld_t* ir_classld_from_class ( struct ir_class_t* class ) { struct ir_classld_t* classld; + if (class == NULL) + eprint("Null class in classld\n"); classld = struct_alloc(ir_classld_t); classld->root_class = class; return classld;