]> git.cameronkatri.com Git - mandoc.git/blobdiff - mandoc_aux.c
Reduce the amount of code by moving the three copies of the ohash
[mandoc.git] / mandoc_aux.c
index 2275bbcf36b9ceb4707fdefe3ead65e2ab4e0028..ee37f04dcc0bbfb303c54545d29bebd0ca26debf 100644 (file)
@@ -1,4 +1,4 @@
-/*     $Id: mandoc_aux.c,v 1.4 2014/08/10 23:54:41 schwarze Exp $ */
+/*     $Id: mandoc_aux.c,v 1.7 2015/10/12 21:09:54 schwarze Exp $ */
 /*
  * Copyright (c) 2009, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
  * Copyright (c) 2014 Ingo Schwarze <schwarze@openbsd.org>
@@ -19,6 +19,7 @@
 
 #include <sys/types.h>
 
+#include <err.h>
 #include <stdarg.h>
 #include <stdlib.h>
 #include <stdio.h>
 #include "mandoc.h"
 #include "mandoc_aux.h"
 
+#if !HAVE_PROGNAME
+const char *mandoc_progname;
+#endif
+
 int
 mandoc_asprintf(char **dest, const char *fmt, ...)
 {
@@ -37,11 +42,9 @@ mandoc_asprintf(char **dest, const char *fmt, ...)
        ret = vasprintf(dest, fmt, ap);
        va_end(ap);
 
-       if (-1 == ret) {
-               perror(NULL);
-               exit((int)MANDOCLEVEL_SYSERR);
-       }
-       return(ret);
+       if (ret == -1)
+               err((int)MANDOCLEVEL_SYSERR, NULL);
+       return ret;
 }
 
 void *
@@ -50,11 +53,9 @@ mandoc_calloc(size_t num, size_t size)
        void    *ptr;
 
        ptr = calloc(num, size);
-       if (NULL == ptr) {
-               perror(NULL);
-               exit((int)MANDOCLEVEL_SYSERR);
-       }
-       return(ptr);
+       if (ptr == NULL)
+               err((int)MANDOCLEVEL_SYSERR, NULL);
+       return ptr;
 }
 
 void *
@@ -63,11 +64,9 @@ mandoc_malloc(size_t size)
        void    *ptr;
 
        ptr = malloc(size);
-       if (NULL == ptr) {
-               perror(NULL);
-               exit((int)MANDOCLEVEL_SYSERR);
-       }
-       return(ptr);
+       if (ptr == NULL)
+               err((int)MANDOCLEVEL_SYSERR, NULL);
+       return ptr;
 }
 
 void *
@@ -75,11 +74,9 @@ mandoc_realloc(void *ptr, size_t size)
 {
 
        ptr = realloc(ptr, size);
-       if (NULL == ptr) {
-               perror(NULL);
-               exit((int)MANDOCLEVEL_SYSERR);
-       }
-       return(ptr);
+       if (ptr == NULL)
+               err((int)MANDOCLEVEL_SYSERR, NULL);
+       return ptr;
 }
 
 void *
@@ -87,11 +84,9 @@ mandoc_reallocarray(void *ptr, size_t num, size_t size)
 {
 
        ptr = reallocarray(ptr, num, size);
-       if (NULL == ptr) {
-               perror(NULL);
-               exit((int)MANDOCLEVEL_SYSERR);
-       }
-       return(ptr);
+       if (ptr == NULL)
+               err((int)MANDOCLEVEL_SYSERR, NULL);
+       return ptr;
 }
 
 char *
@@ -100,11 +95,9 @@ mandoc_strdup(const char *ptr)
        char    *p;
 
        p = strdup(ptr);
-       if (NULL == p) {
-               perror(NULL);
-               exit((int)MANDOCLEVEL_SYSERR);
-       }
-       return(p);
+       if (p == NULL)
+               err((int)MANDOCLEVEL_SYSERR, NULL);
+       return p;
 }
 
 char *
@@ -115,5 +108,5 @@ mandoc_strndup(const char *ptr, size_t sz)
        p = mandoc_malloc(sz + 1);
        memcpy(p, ptr, sz);
        p[(int)sz] = '\0';
-       return(p);
+       return p;
 }