From 02bb89dafd82d8ba85c988de0aaca1b82c486f37 Mon Sep 17 00:00:00 2001 From: Kristaps Dzonsons Date: Wed, 28 Oct 2009 19:21:59 +0000 Subject: Slow movement of internal allocations to fail completely. --- mandoc.c | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 74 insertions(+), 1 deletion(-) (limited to 'mandoc.c') diff --git a/mandoc.c b/mandoc.c index 7839c37d..91a0fa92 100644 --- a/mandoc.c +++ b/mandoc.c @@ -1,4 +1,4 @@ -/* $Id: mandoc.c,v 1.3 2009/07/24 20:22:24 kristaps Exp $ */ +/* $Id: mandoc.c,v 1.4 2009/10/28 19:21:59 kristaps Exp $ */ /* * Copyright (c) 2008, 2009 Kristaps Dzonsons * @@ -19,6 +19,8 @@ #include #include #include +#include +#include #include "libmandoc.h" @@ -103,3 +105,74 @@ mandoc_special(const char *p) return(*p == ']' ? c : 0); } + +void * +mandoc_calloc(size_t num, size_t size) +{ + void *ptr; + + ptr = calloc(num, size); + if (NULL == ptr) { + fprintf(stderr, "memory exhausted\n"); + exit(EXIT_FAILURE); + } + + return(ptr); +} + + +void * +mandoc_malloc(size_t size) +{ + void *ptr; + + ptr = malloc(size); + if (NULL == ptr) { + fprintf(stderr, "memory exhausted\n"); + exit(EXIT_FAILURE); + } + + return(ptr); +} + + +void * +mandoc_realloc(void *ptr, size_t size) +{ + + ptr = realloc(ptr, size); + if (NULL == ptr) { + fprintf(stderr, "memory exhausted\n"); + exit(EXIT_FAILURE); + } + + return(ptr); +} + + +void * +mandoc_reallocf(void *old_ptr, size_t size) /* FIXME: remove (not used) */ +{ + void *ptr; + + ptr = realloc(old_ptr, size); + if (NULL == ptr) + free(old_ptr); + + return(ptr); +} + + +char * +mandoc_strdup(const char *ptr) +{ + char *p; + + p = strdup(ptr); + if (NULL == p) { + fprintf(stderr, "memory exhausted\n"); + exit(EXIT_FAILURE); + } + + return(p); +} -- cgit v1.2.3