static void l3_destroy(struct L3 *list) { do { l4_destroy(list->down); struct L3 *next = list->next; free(list); list = next; } while (list); }
static void l3_destroy(struct L3 *list, int level) { do { if (3 < level) l4_destroy(list->down, level); struct L3 *next = list->next; if (3 == level) free(list); list = next; } while (list); }