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
|
|