commit e3671006dba1c21316c570e11d6688f5513fb44e
parent 426887ccec8577ee33d1fb44f258d6a70a2eddf1
Author: Roberto E. Vargas Caballero <k0ga@shike2.com>
Date: Mon, 17 Sep 2012 22:11:20 +0200
Add xcalloc wrapper
malloc and realloc are called through xmalloc and xrealloc, so calloc should
be called through xcalloc.
---
st.c | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
Diffstat:
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/st.c b/st.c
@@ -324,6 +324,7 @@ static int isfullutf8(char *, int);
static void *xmalloc(size_t);
static void *xrealloc(void *, size_t);
+static void *xcalloc(size_t nmemb, size_t size);
static void (*handler[LASTEvent])(XEvent *) = {
[KeyPress] = kpress,
@@ -373,6 +374,14 @@ xrealloc(void *p, size_t len) {
return p;
}
+void *
+xcalloc(size_t nmemb, size_t size) {
+ void *p = calloc(nmemb, size);
+ if(!p)
+ die("Out of memory\n");
+ return p;
+}
+
int
utf8decode(char *s, long *u) {
uchar c;
@@ -1801,8 +1810,8 @@ tresize(int col, int row) {
/* allocate any new rows */
for(/* i == minrow */; i < row; i++) {
term.dirty[i] = 1;
- term.line[i] = calloc(col, sizeof(Glyph));
- term.alt [i] = calloc(col, sizeof(Glyph));
+ term.line[i] = xcalloc(col, sizeof(Glyph));
+ term.alt [i] = xcalloc(col, sizeof(Glyph));
}
if(col > term.col) {
bool *bp = term.tabs + term.col;