helpful errors
[dmenu.git] / draw.c
diff --git a/draw.c b/draw.c
index 85c1279..83ced4b 100644 (file)
--- a/draw.c
+++ b/draw.c
@@ -9,8 +9,6 @@
 
 #define MAX(a, b)   ((a) > (b) ? (a) : (b))
 #define MIN(a, b)   ((a) < (b) ? (a) : (b))
-#define FG(dc, col) ((col)[(dc)->invert ? ColBG : ColFG])
-#define BG(dc, col) ((col)[(dc)->invert ? ColFG : ColBG])
 #define DEFFONT     "fixed"
 
 static Bool loadfont(DC *dc, const char *fontstr);
@@ -70,6 +68,11 @@ eprintf(const char *fmt, ...) {
        va_start(ap, fmt);
        vfprintf(stderr, fmt, ap);
        va_end(ap);
+
+       if(fmt[strlen(fmt)-1] == ':') {
+               fputc(' ', stderr);
+               perror(NULL);
+       }
        exit(EXIT_FAILURE);
 }
 
@@ -102,16 +105,13 @@ initdc(void) {
 
        if(!setlocale(LC_CTYPE, "") || !XSupportsLocale())
                weprintf("no locale support\n");
-       if(!(dc = malloc(sizeof *dc)))
-               eprintf("cannot malloc %u bytes\n", sizeof *dc);
+       if(!(dc = calloc(1, sizeof *dc)))
+               eprintf("cannot malloc %u bytes:", sizeof *dc);
        if(!(dc->dpy = XOpenDisplay(NULL)))
                eprintf("cannot open display\n");
 
        dc->gc = XCreateGC(dc->dpy, DefaultRootWindow(dc->dpy), 0, NULL);
        XSetLineAttributes(dc->dpy, dc->gc, 1, LineSolid, CapButt, JoinMiter);
-       dc->font.xfont = NULL;
-       dc->font.set = NULL;
-       dc->canvas = None;
        return dc;
 }
 
@@ -189,7 +189,7 @@ void
 weprintf(const char *fmt, ...) {
        va_list ap;
 
-       fprintf(stderr, "%s: warning: ", progname);
+       fprintf(stderr, "%s: ", progname);
        va_start(ap, fmt);
        vfprintf(stderr, fmt, ap);
        va_end(ap);