Пример #1
0
static void test_foreach(CuTest *tc) {
    int total = 0;
    struct quicklist *ql = 0;
    ql_push(&ql, (void *)data);
    ql_push(&ql, (void *)data);
    ql_foreach(ql, my_callback);
    CuAssertIntEquals(tc, 152, gtotal);
    ql_foreachx(ql, my_callbackx, &total);
    CuAssertIntEquals(tc, 152, total);
    ql_free(ql);
}
Пример #2
0
void free_region(region *r) {
    region **bucket;

    bucket = &regionhash[r->uid & RHASHMASK];
    while (*bucket!=r) {
        bucket = &(*bucket)->nexthash_;
    }
    *bucket = r->nexthash_;
    free(r->name_);
    while (r->units) {
        unit *u = r->units;
        r->units = u->next;
        free_unit(u);
    }
    ql_foreach(r->ships, (ql_cb)free_ship);
    ql_free(r->ships);
    r->ships = 0;
    ql_foreach(r->buildings, (ql_cb)free_building);
    ql_free(r->buildings);
    r->buildings = 0;
    free(r);
}
Пример #3
0
void free_terrains(void) {
    ql_foreach(terrains, (ql_cb)free_terrain);
    ql_free(terrains);
    terrains = 0;
}
Пример #4
0
void free_regions(void) {
    ql_foreach(regions, (ql_cb)free_region);
    ql_free(regions);
    regions = 0;
}
Пример #5
0
void free_buildingtypes(void) {
    ql_foreach(buildingtypes, free_buildingtype);
    ql_free(buildingtypes);
    buildingtypes = 0;
}
Пример #6
0
void free_shiptypes(void) {
    ql_foreach(shiptypes, free_shiptype);
    ql_free(shiptypes);
    shiptypes = 0;
}
Пример #7
0
void free_donations(void) {
    ql_foreach(transfers, free);
    ql_free(transfers);
    transfers = 0;
}