Esempio n. 1
0
void test_mtree(){
    MTree* tree = mtree_create(4, 4, false, NULL);
    for (uintptr_t i = 1; i < 10; i++) {
        mtree_insert(tree, i, (void*)i);
    }
    mtree_dump(tree);
    Document* a[20];
    Cursor* c = mtree_cursor(tree);
    cursor_to_array(c, a, 20);
    char msg[30];
    for (uintptr_t i = 1; i < 10; i++) {
        sprintf(msg, "a[%lu] == %lu", i - 1, i);
        sput_fail_unless(a[i - 1] == (Document*)i, msg);
    }
}
Esempio n. 2
0
static void mtree_dump(IN osm_mtree_node_t * p_mtn)
{
	uint32_t i;

	if (p_mtn == NULL)
		return;

	printf("GUID:0x%016" PRIx64 " max_children:%u\n",
	       cl_ntoh64(p_mtn->p_sw->p_node->node_info.node_guid),
	       p_mtn->max_children);
	if (p_mtn->child_array != NULL) {
		for (i = 0; i < p_mtn->max_children; i++) {
			printf("i=%d\n", i);
			if ((p_mtn->child_array[i] != NULL)
			    && (p_mtn->child_array[i] != OSM_MTREE_LEAF))
				mtree_dump(p_mtn->child_array[i]);
		}
	}
}