Пример #1
0
static void l1_destroy(struct L1 *list)
{
    do {
        l2_destroy(list->down);

        struct L1 *next = list->next;
        free(list);
        list = next;
    }
    while (list);
}
Пример #2
0
static void l1_destroy(struct L1 *list, int level)
{
    do {
        if (1 < level)
            l2_destroy(list->down, level);

        struct L1 *next = list->next;
        if (1 == level)
            free(list);

        list = next;
    }
    while (list);
}
int main()
{
    static struct L1 *list;
    do
        l1_insert(&list);
    while (__VERIFIER_nondet_int());
    do {
        struct L1 *next = list->next;
        l2_destroy(list->l2);
        free(list);
        list = next;
    }
    while (list);
}