URI: 
       Add xcalloc wrapper - st - simple terminal
  HTML git clone https://git.parazyd.org/st
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit e3671006dba1c21316c570e11d6688f5513fb44e
   DIR parent 426887ccec8577ee33d1fb44f258d6a70a2eddf1
  HTML 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:
         M st.c                                |      13 +++++++++++--
       
       1 file changed, 11 insertions(+), 2 deletions(-)
       ---
   DIR 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;