]> git.cameronkatri.com Git - mandoc.git/blobdiff - mandoc_aux.c
quoted words are not parsed for defined keys
[mandoc.git] / mandoc_aux.c
index a4cb3c194673d149c58ada4929534a63d2e55331..db593e444c48b0433b03d7dc68c2efad9e4170e3 100644 (file)
@@ -1,7 +1,7 @@
-/*     $Id: mandoc_aux.c,v 1.2 2014/04/23 21:06:41 schwarze Exp $ */
+/*     $Id: mandoc_aux.c,v 1.10 2017/06/12 19:05:47 schwarze Exp $ */
 /*
  * Copyright (c) 2009, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
- * Copyright (c) 2014 Ingo Schwarze <schwarze@openbsd.org>
+ * Copyright (c) 2014, 2015, 2017 Ingo Schwarze <schwarze@openbsd.org>
  *
  * Permission to use, copy, modify, and distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above
  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
+#include "config.h"
+
 #include <sys/types.h>
 
+#if HAVE_ERR
+#include <err.h>
+#endif
 #include <stdarg.h>
 #include <stdlib.h>
 #include <stdio.h>
@@ -25,6 +30,7 @@
 #include "mandoc.h"
 #include "mandoc_aux.h"
 
+
 int
 mandoc_asprintf(char **dest, const char *fmt, ...)
 {
@@ -35,11 +41,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 *
@@ -48,11 +52,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 *
@@ -61,35 +63,36 @@ 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 *
 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 *
 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;
+}
+
+void *
+mandoc_recallocarray(void *ptr, size_t oldnum, size_t num, size_t size)
+{
+       ptr = recallocarray(ptr, oldnum, num, size);
+       if (ptr == NULL)
+               err((int)MANDOCLEVEL_SYSERR, NULL);
+       return ptr;
 }
 
 char *
@@ -98,11 +101,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 *
@@ -113,5 +114,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;
 }