summaryrefslogtreecommitdiffstatshomepage
path: root/mandoc.c
diff options
context:
space:
mode:
authorKristaps Dzonsons <kristaps@bsd.lv>2009-10-28 19:21:59 +0000
committerKristaps Dzonsons <kristaps@bsd.lv>2009-10-28 19:21:59 +0000
commit02bb89dafd82d8ba85c988de0aaca1b82c486f37 (patch)
tree74b151a0df59b9a9bc6ff2ad9b99cea034c3aad4 /mandoc.c
parent0c60b9f64c3be12ba8fd54fd12c64dabe143fdef (diff)
downloadmandoc-02bb89dafd82d8ba85c988de0aaca1b82c486f37.tar.gz
mandoc-02bb89dafd82d8ba85c988de0aaca1b82c486f37.tar.zst
mandoc-02bb89dafd82d8ba85c988de0aaca1b82c486f37.zip
Slow movement of internal allocations to fail completely.
Diffstat (limited to 'mandoc.c')
-rw-r--r--mandoc.c75
1 files changed, 74 insertions, 1 deletions
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 <kristaps@kth.se>
*
@@ -19,6 +19,8 @@
#include <assert.h>
#include <ctype.h>
#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
#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);
+}