Exemplo n.º 1
0
Arquivo: hashmap.c Projeto: imej/c
void Hashmap_destroy(Hashmap *map)
{
    int i = 0;
    int j = 0;

    if (map) {
        if (map->buckets) {
            for (i = 0; i < DArray_count(map->buckets); i++) {
                DArray *bucket = DArray_get(map->buckets, i);
                if (bucket) {
                    for (j = 0; j < DArray_count(bucket); j++) {
                        HashmapNode *node = DArray_get(bucket, j);
                        if (node != NULL) {
                            free(node->data);
                            map->free_key(node->key);
                        }
                    }

                    DArray_clear_destroy(bucket);

                    DArray_remove(map->buckets, i);
                }
            }
            DArray_clear_destroy(map->buckets);
        }

        free(map);
    }
}
Exemplo n.º 2
0
void ChipmunkRecorder_clear_frames(Recorder *recorder) {
    check(recorder != NULL, "No recorder to clear");

    // Destroy frames
    DArray_clear_destroy(recorder->frames);
    recorder->frames = DArray_create(sizeof(ChipmunkRecorderFrame), 60 * 5);

    recorder->num_frames = 0;
    recorder->avg_frame_size = 0;
    recorder->total_frame_size = 0;

    return;
error:
    return;
}
Exemplo n.º 3
0
char * test_get_name()
{
    DArray * array = DB_get_name("select db");
    
    int count = DArray_count(array);
    int i;
    for(i=0;i<count;i++)
    {
        snippet_print(DArray_get(array,i),stdout);
    }

    DArray_clear_destroy(array,snippet_destroy);

    return NULL;
}
Exemplo n.º 4
0
char * test_delete()
{
    DArray * array = DB_get_name("select db");
    Snippet * snippet = NULL;
    snippet = DArray_pop(array);
    mu_assert(snippet != NULL, "DB empty.");
    int old_id = snippet->id;

    int rc = DB_delete(snippet);
    snippet_destroy(snippet);
    DArray_clear_destroy(array,snippet_destroy);
    mu_assert(rc == 0, "Failed to delete.");
    log_info("snippet * = %p",snippet);
    snippet = NULL;
    snippet = DB_get(old_id);
    mu_assert(snippet == NULL, "This snippet Shouldn't exist.");
    log_info("about to quite test_delete");
    if(snippet != NULL)
        snippet_destroy(snippet);
        
    return NULL;
}