summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--calmwm.h4
-rw-r--r--conf.c2
-rw-r--r--group.c2
-rw-r--r--parse.y15
-rw-r--r--xmalloc.c4
5 files changed, 11 insertions, 16 deletions
diff --git a/calmwm.h b/calmwm.h
index 9bf2f25..d505426 100644
--- a/calmwm.h
+++ b/calmwm.h
@@ -409,11 +409,11 @@ void			 grab_label(struct client_ctx *);
 
 void			 xfree(void *);
 void			*xmalloc(size_t);
-void			*xcalloc(size_t);
+void			*xcalloc(size_t, size_t);
 char			*xstrdup(const char *);
 
 #define XMALLOC(p, t) ((p) = (t *)xmalloc(sizeof * (p)))
-#define XCALLOC(p, t) ((p) = (t *)xcalloc(sizeof * (p)))
+#define XCALLOC(p, t) ((p) = (t *)xcalloc(1, sizeof * (p)))
 
 void			 screen_init(void);
 struct screen_ctx	*screen_fromroot(Window);
diff --git a/conf.c b/conf.c
index 1aa56dd..4369af3 100644
--- a/conf.c
+++ b/conf.c
@@ -360,7 +360,7 @@ conf_bindname(struct conf *c, char *name, char *binding)
 		return;
 
 	current_binding->callback = kbfunc_cmdexec;
-	current_binding->argument = strdup(binding);
+	current_binding->argument = xstrdup(binding);
 	current_binding->flags = 0;
 	TAILQ_INSERT_TAIL(&c->keybindingq, current_binding, entry);
 	return;
diff --git a/group.c b/group.c
index 59aec57..9f01b7e 100644
--- a/group.c
+++ b/group.c
@@ -85,7 +85,7 @@ _group_show(struct group_ctx *gc)
 	u_int i;
 	int lastempty = -1;
 
-	winlist = (Window *) xcalloc(sizeof(*winlist) * (gc->highstack + 1));
+	winlist = (Window *) xcalloc(sizeof(*winlist), (gc->highstack + 1));
 
 	/*
 	 * Invert the stacking order as XRestackWindows() expects them
diff --git a/parse.y b/parse.y
index b3bfbf8..536d3b8 100644
--- a/parse.y
+++ b/parse.y
@@ -359,9 +359,7 @@ yylex(void)
 			}
 			*p++ = (char)c;
 		}
-		yylval.v.string = strdup(buf);
-		if (yylval.v.string == NULL)
-			err(1, "yylex: strdup");
+		yylval.v.string = xstrdup(buf);
 		return (STRING);
 	}
 
@@ -418,8 +416,7 @@ nodigits:
 		lungetc(c);
 		*p = '\0';
 		if ((token = lookup(buf)) == STRING)
-			if ((yylval.v.string = strdup(buf)) == NULL)
-				err(1, "yylex: strdup");
+			yylval.v.string = xstrdup(buf);
 		return (token);
 	}
 	if (c == '\n') {
@@ -436,11 +433,9 @@ pushfile(const char *name)
 {
 	struct file	*nfile;
 
-	if ((nfile = calloc(1, sizeof(struct file))) == NULL ||
-	    (nfile->name = strdup(name)) == NULL) {
-		warn("malloc");
-		return (NULL);
-	}
+	nfile = xcalloc(1, sizeof(struct file));
+	nfile->name = xstrdup(name);
+
 	if ((nfile->stream = fopen(nfile->name, "r")) == NULL) {
 		warn("%s", nfile->name);
 		free(nfile->name);
diff --git a/xmalloc.c b/xmalloc.c
index f80b87f..71bc5a4 100644
--- a/xmalloc.c
+++ b/xmalloc.c
@@ -33,11 +33,11 @@ xmalloc(size_t siz)
 }
 
 void *
-xcalloc(size_t siz)
+xcalloc(size_t no, size_t siz)
 {
 	void *p;
 
-	if ((p = calloc(1, siz)) == NULL)
+	if ((p = calloc(no, siz)) == NULL)
 		err(1, "calloc");
 
 	return (p);