25 #include <grass/linkm.h>
27 static int link_chunk_size = 100;
28 static int link_exit_flag = 0;
32 link_chunk_size = size;
37 link_exit_flag = flag;
43 struct link_head *Head;
45 if (
NULL == (Head = (
struct link_head *)malloc(
sizeof(
struct link_head))))
49 (Head->ptr_array = (
VOID_T **) malloc(
sizeof(
VOID_T *) * PTR_CNT))) {
56 Head->alloced = PTR_CNT;
57 Head->unit_size = size <
sizeof(
VOID_T *) ?
sizeof(
VOID_T *) : size;
58 Head->chunk_size = link_chunk_size;
59 Head->exit_flag = link_exit_flag;
71 if (Head->ptr_array) {
72 for (i = 0; i < Head->max_ptr; i++)
73 if (Head->ptr_array[i] !=
NULL)
74 free(Head->ptr_array[i]);
75 free(Head->ptr_array);