add sbase-style ecalloc(), calloc: or die 5a20b409
... remove intermediary variables
Hiltjo Posthuma · 2015-10-20 22:51 3 file(s) · +18 −12
drw.c +7 −12
65 65
{
66 66
	Drw *drw;
67 67
68 -
	if (!(drw = calloc(1, sizeof(Drw))))
69 -
		return NULL;
68 +
	drw = ecalloc(1, sizeof(Drw));
70 69
	drw->dpy = dpy;
71 70
	drw->screen = screen;
72 71
	drw->root = root;
189 188
drw_clr_create(Drw *drw, const char *clrname)
190 189
{
191 190
	Clr *clr;
192 -
	Colormap cmap;
193 -
	Visual *vis;
194 -
195 191
	if (!drw)
196 192
		return NULL;
197 -
	if (!(clr = calloc(1, sizeof(Clr))))
198 -
		return NULL;
199 -
	cmap = DefaultColormap(drw->dpy, drw->screen);
200 -
	vis = DefaultVisual(drw->dpy, drw->screen);
201 -
	if (!XftColorAllocName(drw->dpy, vis, cmap, clrname, &clr->rgb))
193 +
194 +
	clr = ecalloc(1, sizeof(Clr));
195 +
	if (!XftColorAllocName(drw->dpy, DefaultVisual(drw->dpy, drw->screen),
196 +
	                       DefaultColormap(drw->dpy, drw->screen),
197 +
	                       clrname, &clr->rgb))
202 198
		die("error, cannot allocate color '%s'\n", clrname);
203 199
	clr->pix = clr->rgb.pixel;
204 200
409 405
410 406
	if (!drw)
411 407
		return NULL;
412 -
	if (!(cur = calloc(1, sizeof(Cur))))
413 -
		return NULL;
408 +
	cur = ecalloc(1, sizeof(Cur));
414 409
	cur->cursor = XCreateFontCursor(drw->dpy, shape);
415 410
416 411
	return cur;
util.c +10 −0
6 6
7 7
#include "util.h"
8 8
9 +
void *
10 +
ecalloc(size_t nmemb, size_t size)
11 +
{
12 +
	void *p;
13 +
14 +
	if (!(p = calloc(nmemb, size)))
15 +
		perror(NULL);
16 +
	return p;
17 +
}
18 +
9 19
void
10 20
die(const char *fmt, ...) {
11 21
	va_list ap;
util.h +1 −0
5 5
#define BETWEEN(X, A, B)        ((A) <= (X) && (X) <= (B))
6 6
7 7
void die(const char *errstr, ...);
8 +
void *ecalloc(size_t, size_t);