man: --nbi, not --NBI
[wraplinux.git] / xmalloc.c
1 /*
2  * xmalloc.c
3  *
4  * Simple error-checking version of malloc()
5  *
6  */
7
8 #include "wraplinux.h"
9
10 #include <errno.h>
11 #include <stdarg.h>
12 #include <string.h>
13
14 void *xmalloc(size_t size)
15 {
16         void *p = malloc(size);
17
18         if (!p) {
19                 fprintf(stderr, "%s: %s\n", program, strerror(errno));
20                 exit(EX_OSERR);
21         }
22
23         return p;
24 }
25
26 void *xcalloc(size_t nmemb, size_t size)
27 {
28         void *p = calloc(nmemb, size);
29
30         if (!p) {
31                 fprintf(stderr, "%s: %s\n", program, strerror(errno));
32                 exit(EX_OSERR);
33         }
34
35         return p;
36 }
37
38 int xasprintf(char **strp, const char *fmt, ...)
39 {
40         va_list va;
41         int n;
42
43         va_start(va, fmt);
44         n = vasprintf(strp, fmt, va);
45         va_end(va);
46
47         if (n < 0) {
48                 fprintf(stderr, "%s: %s\n", program, strerror(errno));
49                 exit(EX_OSERR);
50         }
51
52         return n;
53 }