add sbase-style ecalloc(), calloc: or die - dmenu - my customized version of dm… | |
git clone git://git.codemadness.org/dmenu | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 5a20b409c673a6736c3f9326cb54edc32908f717 | |
parent 164986763a29db97abb52b15cbd282b5636d83c0 | |
Author: Hiltjo Posthuma <[email protected]> | |
Date: Tue, 20 Oct 2015 22:51:57 +0200 | |
add sbase-style ecalloc(), calloc: or die | |
... remove intermediary variables | |
Diffstat: | |
M drw.c | 19 +++++++------------ | |
M util.c | 10 ++++++++++ | |
M util.h | 1 + | |
3 files changed, 18 insertions(+), 12 deletions(-) | |
--- | |
diff --git a/drw.c b/drw.c | |
@@ -65,8 +65,7 @@ drw_create(Display *dpy, int screen, Window root, unsigned in… | |
{ | |
Drw *drw; | |
- if (!(drw = calloc(1, sizeof(Drw)))) | |
- return NULL; | |
+ drw = ecalloc(1, sizeof(Drw)); | |
drw->dpy = dpy; | |
drw->screen = screen; | |
drw->root = root; | |
@@ -189,16 +188,13 @@ Clr * | |
drw_clr_create(Drw *drw, const char *clrname) | |
{ | |
Clr *clr; | |
- Colormap cmap; | |
- Visual *vis; | |
- | |
if (!drw) | |
return NULL; | |
- if (!(clr = calloc(1, sizeof(Clr)))) | |
- return NULL; | |
- cmap = DefaultColormap(drw->dpy, drw->screen); | |
- vis = DefaultVisual(drw->dpy, drw->screen); | |
- if (!XftColorAllocName(drw->dpy, vis, cmap, clrname, &clr->rgb)) | |
+ | |
+ clr = ecalloc(1, sizeof(Clr)); | |
+ if (!XftColorAllocName(drw->dpy, DefaultVisual(drw->dpy, drw->screen), | |
+ DefaultColormap(drw->dpy, drw->screen), | |
+ clrname, &clr->rgb)) | |
die("error, cannot allocate color '%s'\n", clrname); | |
clr->pix = clr->rgb.pixel; | |
@@ -409,8 +405,7 @@ drw_cur_create(Drw *drw, int shape) | |
if (!drw) | |
return NULL; | |
- if (!(cur = calloc(1, sizeof(Cur)))) | |
- return NULL; | |
+ cur = ecalloc(1, sizeof(Cur)); | |
cur->cursor = XCreateFontCursor(drw->dpy, shape); | |
return cur; | |
diff --git a/util.c b/util.c | |
@@ -6,6 +6,16 @@ | |
#include "util.h" | |
+void * | |
+ecalloc(size_t nmemb, size_t size) | |
+{ | |
+ void *p; | |
+ | |
+ if (!(p = calloc(nmemb, size))) | |
+ perror(NULL); | |
+ return p; | |
+} | |
+ | |
void | |
die(const char *fmt, ...) { | |
va_list ap; | |
diff --git a/util.h b/util.h | |
@@ -5,3 +5,4 @@ | |
#define BETWEEN(X, A, B) ((A) <= (X) && (X) <= (B)) | |
void die(const char *errstr, ...); | |
+void *ecalloc(size_t, size_t); |