=================================================================== RCS file: /cvs/mandoc/mandoc.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -p -r1.3 -r1.4 --- mandoc/mandoc.c 2009/07/24 20:22:24 1.3 +++ mandoc/mandoc.c 2009/10/28 19:21:59 1.4 @@ -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); +}