コード例 #1
0
ファイル: r_array.c プロジェクト: robdelacruz/im
void
__r_array_tests ()
{
	printf("Running __r_array_tests()...\n");

	printf("tests (1)\n");
	r_array_t *array = r_array_new(3, R_ARRAY_DEFAULT);
	assert(array->maxlen == 3);
	assert(array->len == 0);

	printf("tests (2)\n");
	r_array_append(array, "0");
	r_array_append(array, "1");
	r_array_append(array, "2");
	assert(array->maxlen == 3);
	assert(array->len == 3);

	printf("tests (3)\n");
	r_array_append(array, "3");
	assert(array->maxlen == 4);
	assert(array->len == 4);

	printf("tests (4)\n");
	r_array_replace(array, 2, "2.0");
	r_array_insert(array, 3, "2.5");
	assert(array->maxlen == 5);
	assert(array->len == 5);

	printf("tests (5)\n");
	r_array_insert(array, 0, "-1");
	assert(array->maxlen == 6);
	assert(array->len == 6);

	printf("tests (6)\n");
	r_array_insert(array, 5, "2.75");
	assert(array->maxlen == 7);
	assert(array->len == 7);
	assert(strcmp(array->items[array->len - 1], "3") == 0);

	printf("tests (7)\n");
	for (int i=0; i < array->len; i++) {
		printf("r_array_t array[%d]: '%s'\n", i, array->items[i]);
	}

	printf("tests (8)\n");
	r_array_destroy(array);
	array = NULL;

	printf("tests (9)\n");
	r_array_t *array_of_heapitems = r_array_new(3, R_ARRAY_DEALLOCATE_ITEMS);
	char *str = "abc";
	r_array_append(array_of_heapitems, strdup(str));
	r_array_append(array_of_heapitems, strdup(str));
	assert(array_of_heapitems->len == 2);
	assert(array_of_heapitems->maxlen == 3);

	printf("tests (10)\n");
	r_array_destroy(array_of_heapitems);
	array_of_heapitems = NULL;
}
コード例 #2
0
ファイル: rexcompiler.c プロジェクト: MasterQ32/rpatk
void rex_compiler_destroy(rexcompiler_t *co)
{
	if (co) {
		r_array_destroy(co->stack);
		r_array_destroy(co->temptrans);
		r_free(co);
	}

}
コード例 #3
0
ファイル: rexstate.c プロジェクト: MasterQ32/rpatk
void rex_state_cleanup(robject_t *obj)
{
	rexstate_t *state = (rexstate_t*) obj;

	r_array_destroy(state->trans);
	r_array_destroy(state->etrans);
	r_array_destroy(state->subset);
	r_object_cleanup(obj);
}
コード例 #4
0
ファイル: rexdfasimulator.c プロジェクト: MasterQ32/rpatk
void rex_dfasimulator_destroy(rex_dfasimulator_t *si)
{
	if (si) {
		r_array_destroy(si->accepts);
		r_free(si);
	}
}
コード例 #5
0
ファイル: rexfragment.c プロジェクト: MasterQ32/rpatk
void rex_fragment_destroy(rexfragment_t *frag)
{
	if (frag)
		r_array_destroy(frag->dangling);
	r_free(frag);
}