tadd sbase-style ecalloc(), calloc: or die - dmenu - Dmenu fork with xft fonts.
 (HTM) git clone git://r-36.net/dmenu
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 5a20b409c673a6736c3f9326cb54edc32908f717
 (DIR) parent 164986763a29db97abb52b15cbd282b5636d83c0
 (HTM) 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(-)
       ---
 (DIR) diff --git a/drw.c b/drw.c
       t@@ -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;
       t@@ -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;
        
       t@@ -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;
 (DIR) diff --git a/util.c b/util.c
       t@@ -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;
 (DIR) diff --git a/util.h b/util.h
       t@@ -5,3 +5,4 @@
        #define BETWEEN(X, A, B)        ((A) <= (X) && (X) <= (B))
        
        void die(const char *errstr, ...);
       +void *ecalloc(size_t, size_t);