Exemplo n.º 1
0
static void testValid(void)
{
    int err;
    const char *src;
    DaDesc desc;
    DaStruct *da;

    desc.elements = 10;
    desc.bytesPerElement = 1;
    da = daCreate(&desc, &err);
    sput_fail_if(da == NULL, "Unable to create dynamic array.");


    sput_fail_if(daClear(da, &err, DA_FAST) != 0, "daClear should succeed if we clear fast");
    sput_fail_if(err != DA_OK, "err != DA_OK");
    sput_fail_if(da->used != 0, "daClear should reset the used counter");



    src = "5555555555";
    memcpy(da->firstAddr, src, 10);
    da->used = 10;

    sput_fail_if(daClear(da, &err, DA_SECURE) != 0, "daClear should succeed if we clear fast");
    sput_fail_if(err != DA_OK, "err != DA_OK");
    sput_fail_if(da->used != 0, "daClear should reset the used counter");
    src = "0000000000";
    sput_fail_if(memcmp(da->firstAddr, src, 10) != 0, "daClear in secure mode doesn't erase the array content");

    daDestroy(da, &err);
}
Exemplo n.º 2
0
void destroyTechnology(void * data)
{
    // Getting node.
    Node * n = (Node *) data;
    daDestroy(n -> edges, &free);

    // Getting technology.
    Technology * t = (Technology *) n -> data;

    if(t -> name != NULL)
    {
        free(t -> name);
    }

    if(t -> requires_resources != NULL)
    {
        iaDestroy(t -> requires_resources);
    }

    if(t -> provides_units != NULL)
    {
        iaDestroy(t -> provides_units);
    }

    free(t);
    free(n);
}
IntArray * strSplitAndConvert(char delimiter, char * str, int (* function)(const char * data))
{
    // Auxiliary array.
    DynArray * array = strSplit(delimiter, str);

    // Failed.
    if(array == NULL)
    {
        return NULL;
    }

    // Create an array.
    IntArray * result = iaCreate();

    for(int i = 0; i < array -> length; i++)
    {
        char * tmp = daGetByIndex(array, i);
        iaPrepend(result, function(tmp));
    }

    // Free the auxiliary array.
    daDestroy(array, &free);

    // All done.
    return result;
}
Exemplo n.º 4
0
void lbmRendererShutdown()
{
    daDestroy(&sUpdates, NULL);
}