libdebian-installer
Di_mem

Macros

#define di_new(struct_type, n_structs)
#define di_new0(struct_type, n_structs)
#define di_renew(struct_type, mem, n_structs)

Functions

void * di_malloc (size_t n_bytes) __attribute__((malloc))
void * di_malloc0 (size_t n_bytes) __attribute__((malloc))
void * di_realloc (void *mem, size_t n_bytes) __attribute__((malloc))
void di_free (void *mem)

Detailed Description

Macro Definition Documentation

◆ di_new

#define di_new ( struct_type,
n_structs )
Value:
((struct_type *) di_malloc (sizeof (struct_type) * (n_structs)))
void * di_malloc(size_t n_bytes) __attribute__((malloc))
Definition mem.c:29
Parameters
struct_typereturned type
n_structsnumber of returned structs
73#define di_new(struct_type, n_structs) \
74 ((struct_type *) di_malloc (sizeof (struct_type) * (n_structs)))

Referenced by di_hash_table_new_full(), di_list_append(), di_list_prepend(), di_log_set_handler(), di_mem_chunk_new(), di_slist_append(), di_slist_prepend(), di_stradup(), and di_tree_new_full().

◆ di_new0

#define di_new0 ( struct_type,
n_structs )
Value:
((struct_type *) di_malloc0 (sizeof (struct_type) * (n_structs)))
void * di_malloc0(size_t n_bytes) __attribute__((malloc))
Definition mem.c:40
Parameters
struct_typereturned type
n_structsnumber of returned structs
79#define di_new0(struct_type, n_structs) \
80 ((struct_type *) di_malloc0 (sizeof (struct_type) * (n_structs)))

Referenced by di_list_alloc(), di_packages_alloc(), di_release_alloc(), di_slist_alloc(), and internal_di_packages_allocator_alloc().

◆ di_renew

#define di_renew ( struct_type,
mem,
n_structs )
Value:
((struct_type *) di_realloc ((mem), sizeof (struct_type) * (n_structs)))
void * di_realloc(void *mem, size_t n_bytes) __attribute__((malloc))
Definition mem.c:51
Parameters
struct_typereturned type
memcurrent memory pointer
n_structsnumber of returned structs
86#define di_renew(struct_type, mem, n_structs) \
87 ((struct_type *) di_realloc ((mem), sizeof (struct_type) * (n_structs)))

Function Documentation

◆ di_free()

void di_free ( void * mem)

◆ di_malloc()

void * di_malloc ( size_t n_bytes)

Allocate memory

Parameters
n_bytessize in bytes
Postcondition
never returns NULL
30{
31 void *mem;
32
33 mem = malloc (n_bytes);
34
35 if (!mem)
36 di_error ("%s: failed to allocate %zu bytes", DI_STRLOC, n_bytes);
37 return mem;
38}
#define di_error(format...)
Definition log.h:55

References di_error.

Referenced by di_mem_chunk_alloc().

◆ di_malloc0()

void * di_malloc0 ( size_t n_bytes)

Allocate cleared memory

Parameters
n_bytessize in bytes
Postcondition
never returns NULL
41{
42 void *mem;
43
44 mem = calloc (1, n_bytes);
45
46 if (!mem)
47 di_error ("%s: failed to allocate %zu bytes", DI_STRLOC, n_bytes);
48 return mem;
49}

References di_error.

◆ di_realloc()

void * di_realloc ( void * mem,
size_t n_bytes )

Reallocate memory

Parameters
memmemory
n_bytessize in bytes
Postcondition
never returns NULL
52{
53 mem = realloc (mem, n_bytes);
54
55 if (!mem)
56 di_error ("%s: failed to allocate %zu bytes", DI_STRLOC, n_bytes);
57 return mem;
58}

References di_error.