void print_item(string tag) { string type, *tags, *tp; int *dims; type = get_type(instr, tag); if (streq(type, SetType)) { get_set(instr, tag); print_set(tag); tags = list_tags(instr); for (tp = tags; *tp != NULL; tp++) print_item(*tp); get_tes(instr, tag); print_tes(tag); for (tp = tags; *tp != NULL; tp++) free(*tp); free((char *)tags); } else { dims = get_dims(instr, tag); print_header(tag, type, dims); (void) outstr(" "); print_data(tag, type, dims); end_line(); if (dims != NULL) free((char *)dims); } free(type); }
void print_item(string tag) { string type, stag; int *dims; type = get_type(instr, tag); if (streq(type, SetType)) { get_set(instr, tag); print_set(tag); while ((stag = next_item_tag(instr)) != NULL) { print_item(stag); free(stag); } get_tes(instr, tag); print_tes(tag); } else { dims = get_dimensions(instr, tag); print_head(tag, type, dims); print_data(tag, type, dims); endline(); if (dims != NULL) free(dims); } free(type); }