Commit Diff


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);