1 /* |
1 /* |
2 * (C)opyright MMVI Anselm R. Garbe <garbeam at gmail dot com> |
2 * (C)opyright MMVI Anselm R. Garbe <garbeam at gmail dot com> |
3 * See LICENSE file for license details. |
3 * See LICENSE file for license details. |
4 */ |
4 */ |
|
5 #include <X11/Xlib.h> |
5 |
6 |
6 extern void error(char *errstr, ...); |
7 extern void error(char *errstr, ...); |
7 extern void *emallocz(unsigned int size); |
8 extern void *emallocz(unsigned int size); |
8 extern void *emalloc(unsigned int size); |
9 extern void *emalloc(unsigned int size); |
9 extern void *erealloc(void *ptr, unsigned int size); |
10 extern void *erealloc(void *ptr, unsigned int size); |
10 extern char *estrdup(const char *str); |
11 extern char *estrdup(const char *str); |
11 #define eassert(a) do { \ |
12 #define eassert(a) do { \ |
12 if(!(a)) \ |
13 if(!(a)) \ |
13 failed_assert(#a, __FILE__, __LINE__); \ |
14 failed_assert(#a, __FILE__, __LINE__); \ |
14 } while (0) |
15 } while (0) |
15 void failed_assert(char *a, char *file, int line); |
16 extern void failed_assert(char *a, char *file, int line); |
16 void swap(void **p1, void **p2); |
17 extern void swap(void **p1, void **p2); |
|
18 extern void spawn(Display *dpy, const char *shell, const char *cmd); |