static void l0_destroy(struct L0 *list) { do { l1_destroy(list->down); struct L0 *next = list->next; free(list); list = next; } while (list); }
static void l0_destroy(struct L0 *list, int level) { do { if (0 < level) l1_destroy(list->down, level); struct L0 *next = list->next; if (0 == level) free(list); list = next; } while (list); }