commit 5a20b409c673a6736c3f9326cb54edc32908f717 from: Hiltjo Posthuma date: Tue Oct 20 20:51:57 2015 UTC add sbase-style ecalloc(), calloc: or die ... remove intermediary variables commit - 164986763a29db97abb52b15cbd282b5636d83c0 commit + 5a20b409c673a6736c3f9326cb54edc32908f717 blob - 6aeb59d1d3909713f68072172a4e8292cb12fd63 blob + a98083e48ef12b45e15997356190475f1d3c0007 --- drw.c +++ drw.c @@ -65,8 +65,7 @@ drw_create(Display *dpy, int screen, Window root, unsi { 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; blob - 9b27512e1efe5fb258b7fa65a07b476fb0bc27fc blob + 6b703e9b8180fb32ce3e3e018a2bf0124748c797 --- util.c +++ 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; blob - f7ce72174f047a79355b6171de3a251da6ca8618 blob + cded0434301b89014a41219601a8f93e206eea24 --- util.h +++ 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);