From 6743cd2838c98a6c8127771ac05c6695131f26f5 Mon Sep 17 00:00:00 2001 From: Kristaps Dzonsons Date: Fri, 30 Oct 2009 18:43:24 +0000 Subject: Continued safe handling of allocations. --- chars.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) (limited to 'chars.c') diff --git a/chars.c b/chars.c index 4db245cb..34b1e9cd 100644 --- a/chars.c +++ b/chars.c @@ -1,4 +1,4 @@ -/* $Id: chars.c,v 1.9 2009/09/23 11:02:21 kristaps Exp $ */ +/* $Id: chars.c,v 1.10 2009/10/30 18:43:24 kristaps Exp $ */ /* * Copyright (c) 2009 Kristaps Dzonsons * @@ -15,7 +15,7 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ #include -#include +#include #include #include @@ -89,13 +89,17 @@ chars_init(enum chars type) * (they're in-line re-ordered during lookup). */ - if (NULL == (tab = malloc(sizeof(struct tbl)))) - err(1, "malloc"); - tab->type = type; + tab = malloc(sizeof(struct tbl)); + if (NULL == tab) { + fprintf(stderr, "memory exhausted\n"); + exit(EXIT_FAILURE); + } htab = calloc(PRINT_HI - PRINT_LO + 1, sizeof(struct ln **)); - if (NULL == htab) - err(1, "malloc"); + if (NULL == htab) { + fprintf(stderr, "memory exhausted\n"); + exit(EXIT_FAILURE); + } for (i = 0; i < LINES_MAX; i++) { hash = (int)lines[i].code[0] - PRINT_LO; @@ -111,6 +115,7 @@ chars_init(enum chars type) } tab->htab = htab; + tab->type = type; return(tab); } -- cgit v1.2.3