size_t
arithmetics.
Defines | |
#define | MYMALLOC(target, type, count) |
Allocate count elements of type type and store the pointer to target. | |
#define | MYMALLOCZ(target, type, count, init) |
Allocate count elements of type type, initialise each element to init, and store the pointer to target. | |
#define | MYMALLOC2Z(target, type, count1, count2, init) MYMALLOCZ(target, type, size_multiply(count1, count2), init) |
Allocate count1 times count2 elements of type type, initialise each element to init, and store the pointer to target. | |
Functions | |
static size_t | size_multiply (size_t a, size_t b) |
Multiply a by b; exit with failure if an overflow occurs. | |
static void * | mymalloc (size_t s) |
Allocate s bytes; exit with failure if out of memory. |
#define MYMALLOC | ( | target, | |||
type, | |||||
count | ) |
Value:
do { \ type *my_result = mymalloc(size_multiply(sizeof(type), count)); \ target = my_result; \ } while (0)
Definition at line 145 of file types.c.
Referenced by prepare_slots(), and process_input().
#define MYMALLOC2Z | ( | target, | |||
type, | |||||
count1, | |||||
count2, | |||||
init | ) | MYMALLOCZ(target, type, size_multiply(count1, count2), init) |
Allocate count1 times count2 elements of type type, initialise each element to init, and store the pointer to target.
Definition at line 163 of file types.c.
Referenced by calculate_statistics().
#define MYMALLOCZ | ( | target, | |||
type, | |||||
count, | |||||
init | ) |
Value:
do { \ size_t my_count = count; \ type *my_result = mymalloc(size_multiply(sizeof(type), my_count)); \ for (size_t my_i = 0; my_i < my_count; my_i++) { \ my_result[my_i] = init; \ } \ target = my_result; \ } while (0)
static void* mymalloc | ( | size_t | s | ) | [static] |
static size_t size_multiply | ( | size_t | a, | |
size_t | b | |||
) | [static] |