add sbase-style ecalloc(), calloc: or die
5a20b409
... remove intermediary variables
3 file(s) · +18 −12
... remove intermediary variables
| 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; |
|
| 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; |
| 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); |