ESH

Executive Shell
git clone http://git.omkov.net/ESH
Log | Tree | Refs | README | Download

ESH/src/util/util.c (21 lines, 662 B) -rw-r--r-- file download

a1eb486 Jakob Wakeling 2023-12-27 13:01:35
0
// Copyright (C) 2023, Jakob Wakeling
a1eb486 Jakob Wakeling 2023-12-27 13:01:35
1
// All rights reserved.
a1eb486 Jakob Wakeling 2023-12-27 13:01:35
2
a1eb486 Jakob Wakeling 2023-12-27 13:01:35
3
#include "log.h"
a1eb486 Jakob Wakeling 2023-12-27 13:01:35
4
a1eb486 Jakob Wakeling 2023-12-27 13:01:35
5
#include <errno.h>
a1eb486 Jakob Wakeling 2023-12-27 13:01:35
6
#include <stdlib.h>
a1eb486 Jakob Wakeling 2023-12-27 13:01:35
7
#include <string.h>
a1eb486 Jakob Wakeling 2023-12-27 13:01:35
8
a1eb486 Jakob Wakeling 2023-12-27 13:01:35
9
void *_xmalloc(size_t size, const char *file, int line) {
a1eb486 Jakob Wakeling 2023-12-27 13:01:35
10
	void *p = malloc(size); if (!p) { log_abort("%s:%d: %s", file, line, strerror(errno)); } return p;
a1eb486 Jakob Wakeling 2023-12-27 13:01:35
11
}
a1eb486 Jakob Wakeling 2023-12-27 13:01:35
12
a1eb486 Jakob Wakeling 2023-12-27 13:01:35
13
void *_xcalloc(size_t nmemb, size_t size, const char *file, int line) {
a1eb486 Jakob Wakeling 2023-12-27 13:01:35
14
	void *p = calloc(nmemb, size); if (!p) { log_abort("%s:%d: %s", file, line, strerror(errno)); } return p;
a1eb486 Jakob Wakeling 2023-12-27 13:01:35
15
}
a1eb486 Jakob Wakeling 2023-12-27 13:01:35
16
a1eb486 Jakob Wakeling 2023-12-27 13:01:35
17
void *_xrealloc(void *ptr, size_t size, const char *file, int line) {
a1eb486 Jakob Wakeling 2023-12-27 13:01:35
18
	void *p = realloc(ptr, size); if (!p) { log_abort("%s:%d: %s", file, line, strerror(errno)); } return p;
a1eb486 Jakob Wakeling 2023-12-27 13:01:35
19
}
20