| add sbase-style ecalloc(), calloc: or die - dmenu - dynamic menu | |
| git clone git://git.suckless.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); |