From 981fc3618a78970cca6327666366a7056edd3ebf Mon Sep 17 00:00:00 2001
From: Brent Cook <bcook@openbsd.org>
Date: Mon, 28 Jul 2014 12:09:38 -0500
Subject: Guard individual compatibility header prototypes.

This is to avoid redefining prototypes from the libc headers. Also,
simplify the autoconf function checks and remove some copy/paste
errors checking for 'write'.

ok wouter@
---
 include/stdlib.h |  8 ++++++++
 include/string.h | 15 ++++++++++++++-
 include/unistd.h |  5 +++++
 3 files changed, 27 insertions(+), 1 deletion(-)

(limited to 'include')

diff --git a/include/stdlib.h b/include/stdlib.h
index 6c2de93..c314f38 100644
--- a/include/stdlib.h
+++ b/include/stdlib.h
@@ -7,10 +7,18 @@
 #include <sys/time.h>
 #include <stdint.h>
 
+#ifdef NO_ARC4RANDOM_BUF
 uint32_t arc4random(void);
 void arc4random_buf(void *_buf, size_t n);
+#endif
+
+#ifdef NO_REALLOCARRAY
 void *reallocarray(void *, size_t, size_t);
+#endif
+
+#ifdef NO_STRTONUM
 long long strtonum(const char *nptr, long long minval,
 		long long maxval, const char **errstr);
+#endif
 
 #endif
diff --git a/include/string.h b/include/string.h
index cd3430a..c4bf1e4 100644
--- a/include/string.h
+++ b/include/string.h
@@ -12,21 +12,34 @@
 #include <strings.h>
 #endif
 
+#ifdef NO_STRLCPY
 size_t strlcpy(char *dst, const char *src, size_t siz);
+#endif
 
+#ifdef NO_STRLCAT
 size_t strlcat(char *dst, const char *src, size_t siz);
+#endif
 
+#ifdef NO_STRNDUP
 char * strndup(const char *str, size_t maxlen);
-
 size_t strnlen(const char *str, size_t maxlen);
+#endif
 
+#ifdef NO_EXPLICIT_BZERO
 void explicit_bzero(void *, size_t);
+#endif
 
+#ifdef NO_TIMINGSAFE_BCMP
 int timingsafe_bcmp(const void *b1, const void *b2, size_t n);
+#endif
 
+#ifdef NO_TIMINGSAFE_MEMCMP
 int timingsafe_memcmp(const void *b1, const void *b2, size_t len);
+#endif
 
+#ifdef NO_MEMMEM
 void * memmem(const void *big, size_t big_len, const void *little,
 	size_t little_len);
+#endif
 
 #endif
diff --git a/include/unistd.h b/include/unistd.h
index ae82b95..037b11a 100644
--- a/include/unistd.h
+++ b/include/unistd.h
@@ -3,7 +3,12 @@
 #ifndef LIBCRYPTOCOMPAT_UNISTD_H
 #define LIBCRYPTOCOMPAT_UNISTD_H
 
+#ifdef NO_GETENTROPY
 int getentropy(void *buf, size_t buflen);
+#endif
+
+#ifdef NO_ISSETUGID
 int issetugid(void);
+#endif
 
 #endif
-- 
cgit v1.2.3-55-g6feb