Beispiel #1
0
/* Delete item */
void g_itemFree(g_item item) {
    g_dependency dep;

    /* Free onDeclared list */
    if (item->onDeclared) {
        while((dep = corto_llTakeFirst(item->onDeclared))) {
            corto_dealloc(dep);
        }
        corto_llFree(item->onDeclared);
    }

    /* Free onDefined list */
    if (item->onDefined) {
        while((dep = corto_llTakeFirst(item->onDefined))) {
            corto_dealloc(dep);
        }
        corto_llFree(item->onDefined);
    }

    corto_dealloc(item);
}
Beispiel #2
0
/* Print items (forward them to declare & define callbacks) */
int g_itemPrintItems(struct corto_depresolver_s* data) {
    g_item item;

    /* Collect initial items */
    if (!corto_llWalk(data->items, g_itemCollectinitial, data)) {
        goto error;
    }

    /* Print items */
    while((item = corto_llTakeFirst(data->toPrint))) {
        if (!g_itemPrint(item, data)) {
            goto error;
        }
    }

    return 0;
error:
    return -1;
}
Beispiel #3
0
/* Clear list */
void corto_llClear(corto_ll list) {
    while(list->size) {
        corto_llTakeFirst(list);
    }
}