all repos — dmenu @ 5a20b409c673a6736c3f9326cb54edc32908f717

my build of dmenu

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

... remove intermediary variables
Hiltjo Posthuma hiltjo@codemadness.org
Tue, 20 Oct 2015 22:51:57 +0200
commit

5a20b409c673a6736c3f9326cb54edc32908f717

parent

164986763a29db97abb52b15cbd282b5636d83c0

3 files changed, 18 insertions(+), 12 deletions(-)

jump to
M drw.cdrw.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 @@ Cur *cur;

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;
M util.cutil.c

@@ -6,6 +6,16 @@ #include <string.h>

#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;
M util.hutil.h

@@ -5,3 +5,4 @@ #define MIN(A, B) ((A) < (B) ? (A) : (B))

#define BETWEEN(X, A, B) ((A) <= (X) && (X) <= (B)) void die(const char *errstr, ...); +void *ecalloc(size_t, size_t);