blob: c5fd4512674710de8aed7eae7a802fb80dba509c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
#include <assert.h>
#include <errno.h>
#include <stdlib.h>
#include "til_setup.h"
/* Allocate and initialize a new til_setup_t of size bytes.
* free_func is assigned to til_setup_t.free, and will be used for freeing the
* instance returned when destroyed.
*/
void * til_setup_new(size_t size, void (*free_func)(til_setup_t *setup))
{
til_setup_t *setup;
assert(size >= sizeof(til_setup_t));
assert(free_func);
setup = calloc(1, size);
if (!setup)
return NULL;
setup->free = free_func;
return setup;
}
|