dmenu

dynamic menu
git clone git://git.suckless.org/dmenu
Log | Files | Refs | README | LICENSE

commit 5a20b409c673a6736c3f9326cb54edc32908f717
parent 164986763a29db97abb52b15cbd282b5636d83c0
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date:   Tue, 20 Oct 2015 22:51:57 +0200

add sbase-style ecalloc(), calloc: or die

... remove intermediary variables

Diffstat:
drw.c | 19+++++++------------
util.c | 10++++++++++
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 int w, unsigned int h { 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);