aboutsummaryrefslogtreecommitdiffstats
path: root/mem.c
blob: c3d5db393f718f269d8e07eb657f8b8e265e0e9c (plain) (blame)
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include "mem.h"

#include <curses.h>
#include <stddef.h>
#include <stdlib.h>

#include "err.h"
#include "log.h"

void *xmalloc(size_t size)
{
	void *rtn = malloc(size);
	if (!rtn) {
		die("Out of memory");
	}
	return rtn;
}

void *xrealloc(void *p, size_t size)
{
	void *pmem = realloc(p, size);

	if (!pmem)
		free(p);

	return pmem;
}

void free_pointer_array(void **array, size_t len)
{
	if (!array) {
		log_write(LOG_WARN, "free_poiner_array: array is NULL");
		return;
	}

	for (size_t i = 0; i < len; i++) {
		if (array[i]) {
			free(array[i]);
		}
	}

	free(array);
}