diff options
| author | Roberto E. Vargas Caballero <k0ga@shike2.com> | 2012-09-17 22:11:20 +0200 | 
|---|---|---|
| committer | Roberto E. Vargas Caballero <k0ga@shike2.com> | 2012-09-17 22:11:20 +0200 | 
| commit | e3671006dba1c21316c570e11d6688f5513fb44e (patch) | |
| tree | 3a781c88042da7ec340d97487d9655643390ebe4 | |
| parent | 426887ccec8577ee33d1fb44f258d6a70a2eddf1 (diff) | |
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(-)
| -rw-r--r-- | st.c | 13 | 
1 files changed, 11 insertions, 2 deletions
| @@ -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; | 
