void drawbar(void);
void drawsquare(Bool filled, Bool empty, Bool invert, ulong col[ColLast]);
void drawtext(const char *text, ulong col[ColLast], Bool invert);
-void *emallocz(uint size);
void enternotify(XEvent *e);
void eprint(const char *errstr, ...);
void expose(XEvent *e);
/* configuration, allows nested code to access above variables */
#include "config.h"
-/* check if all tags will fit into a uint bitarray. */
-static char tags_is_a_sign_that_your_IQ[sizeof(int) * 8 < LENGTH(tags) ? -1 : 1];
+/* compile-time check if all tags fit into an uint bit array. */
+struct NumTags { char limitexceeded[sizeof(uint) * 8 < LENGTH(tags) ? -1 : 1]; };
/* function implementations */
-
void
applyrules(Client *c) {
uint i;
XDrawString(dpy, dc.drawable, dc.gc, x, y, buf, len);
}
-void *
-emallocz(uint size) {
- void *res = calloc(1, size);
-
- if(!res)
- eprint("fatal: could not malloc() %u bytes\n", size);
- return res;
-}
-
void
enternotify(XEvent *e) {
Client *c;
Window trans;
XWindowChanges wc;
- c = emallocz(sizeof(Client));
+ if(!(c = calloc(1, sizeof(Client))))
+ eprint("fatal: could not calloc() %u bytes\n", sizeof(Client));
c->win = w;
/* geometry */
void
toggletag(const void *arg) {
- int i, m = *(int *)arg;
- for(i = 0; i < sizeof(int) * 8; i++)
- fputc(m & 1 << i ? '1' : '0', stdout);
- puts("");
- for(i = 0; i < sizeof(int) * 8; i++)
- fputc(TAGMASK & 1 << i ? '1' : '0', stdout);
- puts("aaa");
-
if(sel && (sel->tags ^ ((*(int *)arg) & TAGMASK))) {
sel->tags ^= (*(int *)arg) & TAGMASK;
arrange();