ealloc.c - sbase - suckless unix tools
(HTM) git clone git://git.suckless.org/sbase
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
ealloc.c (1222B)
---
1 /* See LICENSE file for copyright and license details. */
2 #include <stdlib.h>
3 #include <string.h>
4
5 #include "../util.h"
6
7 void *
8 ecalloc(size_t nmemb, size_t size)
9 {
10 return encalloc(1, nmemb, size);
11 }
12
13 void *
14 emalloc(size_t size)
15 {
16 return enmalloc(1, size);
17 }
18
19 void *
20 erealloc(void *p, size_t size)
21 {
22 return enrealloc(1, p, size);
23 }
24
25 char *
26 estrdup(const char *s)
27 {
28 return enstrdup(1, s);
29 }
30
31 char *
32 estrndup(const char *s, size_t n)
33 {
34 return enstrndup(1, s, n);
35 }
36
37 void *
38 encalloc(int status, size_t nmemb, size_t size)
39 {
40 void *p;
41
42 p = calloc(nmemb, size);
43 if (!p)
44 enprintf(status, "calloc: out of memory\n");
45 return p;
46 }
47
48 void *
49 enmalloc(int status, size_t size)
50 {
51 void *p;
52
53 p = malloc(size);
54 if (!p)
55 enprintf(status, "malloc: out of memory\n");
56 return p;
57 }
58
59 void *
60 enrealloc(int status, void *p, size_t size)
61 {
62 p = realloc(p, size);
63 if (!p)
64 enprintf(status, "realloc: out of memory\n");
65 return p;
66 }
67
68 char *
69 enstrdup(int status, const char *s)
70 {
71 char *p;
72
73 p = strdup(s);
74 if (!p)
75 enprintf(status, "strdup: out of memory\n");
76 return p;
77 }
78
79 char *
80 enstrndup(int status, const char *s, size_t n)
81 {
82 char *p;
83
84 p = strndup(s, n);
85 if (!p)
86 enprintf(status, "strndup: out of memory\n");
87 return p;
88 }