]> git.cameronkatri.com Git - mandoc.git/blobdiff - mandoc_aux.c
Make it more explicit that the statement "-O tag does not work with less(1)"
[mandoc.git] / mandoc_aux.c
index 28a6e2f72e9a4154ccb77beb19284d72174bf2ad..5d595ce0c29297ef730cf0ab026cd26a76a4b9cf 100644 (file)
@@ -1,7 +1,7 @@
-/*     $Id: mandoc_aux.c,v 1.6 2015/10/11 21:12:54 schwarze Exp $ */
+/*     $Id: mandoc_aux.c,v 1.11 2018/02/07 20:04:57 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
@@ -19,7 +19,9 @@
 
 #include <sys/types.h>
 
+#if HAVE_ERR
 #include <err.h>
+#endif
 #include <stdarg.h>
 #include <stdlib.h>
 #include <stdio.h>
@@ -28,9 +30,6 @@
 #include "mandoc.h"
 #include "mandoc_aux.h"
 
-#if !HAVE_PROGNAME
-const char *mandoc_progname;
-#endif
 
 int
 mandoc_asprintf(char **dest, const char *fmt, ...)
@@ -72,7 +71,6 @@ mandoc_malloc(size_t size)
 void *
 mandoc_realloc(void *ptr, size_t size)
 {
-
        ptr = realloc(ptr, size);
        if (ptr == NULL)
                err((int)MANDOCLEVEL_SYSERR, NULL);
@@ -82,20 +80,28 @@ mandoc_realloc(void *ptr, size_t size)
 void *
 mandoc_reallocarray(void *ptr, size_t num, size_t size)
 {
-
        ptr = reallocarray(ptr, num, size);
        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 *
 mandoc_strdup(const char *ptr)
 {
        char    *p;
 
        p = strdup(ptr);
-       if (ptr == NULL)
+       if (p == NULL)
                err((int)MANDOCLEVEL_SYSERR, NULL);
        return p;
 }
@@ -105,8 +111,8 @@ mandoc_strndup(const char *ptr, size_t sz)
 {
        char    *p;
 
-       p = mandoc_malloc(sz + 1);
-       memcpy(p, ptr, sz);
-       p[(int)sz] = '\0';
+       p = strndup(ptr, sz);
+       if (p == NULL)
+               err((int)MANDOCLEVEL_SYSERR, NULL);
        return p;
 }