3 * gcc test5.c mpool.c -o test5 -Wall -W -Wextra -ansi -pedantic
17 /* Initialize memory pool with 1024 bytes */
18 mpret
= mpool_init(&mpool
, 10, 5);
19 if (mpret
== MPOOL_ENOMEM
) {
20 fprintf(stderr
, "mpool: not enough memory\n");
23 else if (mpret
== MPOOL_ERANGE
) {
24 fprintf(stderr
, "mpool: out of range in mpool_init()\n");
27 else if (mpret
== MPOOL_EBADVAL
) {
28 fprintf(stderr
, "mpool: bad value passed to mpool_init()\n");
32 /* Allocate 1000 bytes for buffer */
33 if ((buffer
= mpool_alloc(mpool
, 1000)) == NULL
) {
34 fprintf(stderr
, "mpool: no available block in pool\n");
40 mpool_free(mpool
, buffer
);
42 /* Allocate 1000 bytes for buffer */
43 if ((buffer
= mpool_alloc(mpool
, 1000)) == NULL
) {
44 fprintf(stderr
, "mpool reports no available block in pool "
45 "although it exists!\n");
50 printf("mpool: PASSED\n");
54 * could be omitted, since we call mpool_destroy() afterwards
56 mpool_free(mpool
, buffer
);
58 /* Destroy memory pool and free all resources */