Пример #1
0
int chunk_pool_deinit(chunk_pool_t *cpool) {
    if(!cpool) {
        return EINVAL;
    }
    
    int err = list_deinit(cpool->free_chunks);
    if(err) return err;
    
    err = list_deinit(cpool->zero_chunks);
    if(err) return err;
    
    err = ht_deinit(cpool->hash);
    
    int i = 0; int j = 0;
    for(i; i < cpool->loafs_count; i++) {
        for(j; j < DEFAULT_ARRAY_SIZE; j++) {
            chunk_deinit(&(cpool->loafs)[i][j]);
        }
        free((cpool->loafs)[i]);
    }
    free(cpool->loafs);
    
    err = close(cpool->fd);
    if(err == -1) return errno;
    free(cpool);
    
    return 0;
}
Пример #2
0
Файл: lsex.c Проект: zxwbj/danei
/* 测试用例3 */
void test3 (void) {
	LIST list1, list2;
	list_init (&list1);
	list_init (&list2);
	int i;
	for (i = 0; i < 10; ++i)
		list_append (&list1, i);
	for (i = 10; i < 100; i += 10)
		list_append (&list2, i);
	printf ("%d %d\n", list_middle (&list1),
		list_middle (&list2)); /* 4 50 */
	list_deinit (&list2);
	list_deinit (&list1);
}
Пример #3
0
Файл: lsex.c Проект: zxwbj/danei
/* 测试用例4 */
void test4 (void) {
	LIST list;
	list_init (&list);
	srand (time (NULL));
	int i;
	for (i = 0; i < 20; ++i)
		list_insert (&list, rand () % 100);
	list_print (&list); /* 有序序列 */
	list_deinit (&list);
}
Пример #4
0
Файл: lsex.c Проект: zxwbj/danei
/* 测试用例2 */
void test2 (void) {
	LIST list;
	list_init (&list);
	int i;
	for (i = 0; i < 10; ++i)
		list_append (&list, i);
	list_print (&list); /* 0 1 2 3 ... */
	list_reverse (&list);
	list_print (&list); /* 9 8 7 6 ... */
	list_deinit (&list);
}
Пример #5
0
Файл: lsex.c Проект: zxwbj/danei
/* 测试用例5 */
void test5 (void) {
	LIST list1, list2;
	list_init (&list1);
	list_init (&list2);
	srand (time (NULL));
	int i;
	for (i = 0; i < 10; ++i)
		list_insert (&list1, rand () % 100);
	for (i = 0; i < 5; ++i)
		list_insert (&list2, rand () % 100);
	printf ("1:");
	list_print (&list1);
	printf ("2:");
	list_print (&list2);
	list_merge (&list1, &list2);
	printf ("1:");
	list_print (&list1);
	printf ("2:");
	list_print (&list2);
	list_deinit (&list2);
	list_deinit (&list1);
}
Пример #6
0
Файл: lsex.c Проект: zxwbj/danei
/* 测试用例1 */
void test1 (void) {
	LIST list;
	list_init (&list);
	list_append (&list, 23);
	list_append (&list, 17);
	list_append (&list, 37);
	list_append (&list, 29);
	list_append (&list, 51);
	printf ("%u\n", list_size (&list));
	list_print (&list);
	list_rprint (&list);
	list_deinit (&list);
}
Пример #7
0
void stack_deinit(stack_t *q) {
    if (q) list_deinit(q);
}