commit - 3527b7a58a5f228a73f73ba74bc4ff86f7305a60
commit + 7e262563948fcaeea143e6c7c23b6a300010eec5
blob - aab93b5c85a33ae0744219bb1d86e622f3cb86ca
blob + dd07cf9294b912c3921cf5015d1743680f48bdeb
--- compat/err.c
+++ compat/err.c
#include <stdio.h>
#include <stdarg.h>
-/* cheat: if we don't have getprogname in libc, we will link against
- * compat/getprogname.c anyway. */
-const char *getprogname(void);
+#include "../config.h"
static void vwarn_impl(const char*, va_list);
static void vwarnx_impl(const char*, va_list);
blob - 674b8e229e34a3c2dc2320b9faaccefebdf5c12b
blob + f502b4bc4bc6697e20e25947377cdfb79565f549
--- compat/explicit_bzero.c
+++ compat/explicit_bzero.c
#include <string.h>
+#include "../config.h"
+
void
explicit_bzero(void *buf, size_t len)
{
blob - f16226871ec9600344765767613eea8043231e3c
blob + ee178b750ad97e0ed4ef9418d57e61f0004f5147
--- compat/getprogname.c
+++ compat/getprogname.c
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
+#include "../config.h"
+
const char *
getprogname(void)
{
blob - 1baffbbaa4387388b3f32b5f07513299d95046f7
blob + 70ad5822b55e7d2e24d2c9e4a26edf595c85172e
--- compat/recallocarray.c
+++ compat/recallocarray.c
#include <string.h>
#include <unistd.h>
+#include "../config.h"
+
/*
* This is sqrt(SIZE_MAX+1), as s1*s2 <= SIZE_MAX
* if both s1 < MUL_NO_OVERFLOW and s2 < MUL_NO_OVERFLOW
*/
#define getpagesize() (1UL << 12)
-/* cheat: provide a prototype for explicit_bzero: if libc doesn't
- * provide it, we will link to compat/explicit_bzero.c anyway. */
-void explicit_bzero(void*, size_t);
-
void *
recallocarray(void *ptr, size_t oldnmemb, size_t newnmemb, size_t size)
{
blob - 1c19062bf839da6e099ffca1dddcdb4070a44edf
blob + b4e969e826539cfc4b3b6735233ec108702d0448
--- compat/strlcat.c
+++ compat/strlcat.c
#include <sys/types.h>
#include <string.h>
+#include "../config.h"
+
/*
* Appends src to string dst of size dsize (unlike strncat, dsize is the
* full size of dst, not space left). At most dsize-1 characters
blob - 177ff7269492ec85c2196e31edc425107a958e4b
blob + 75636a0709bbd56677e394293267537de2b2ad4b
--- compat/strlcpy.c
+++ compat/strlcpy.c
#include <sys/types.h>
#include <string.h>
+#include "../config.h"
+
/*
* Copy string src to buffer dst of size dsize. At most dsize-1
* chars will be copied. Always NUL terminates (unless dsize == 0).
blob - 6e6cb76d5950925c04b80333361c04697644d7c4
blob + 09c4fbe23ef43c478fc75463fe60b2b23968ace1
--- compat/strtonum.c
+++ compat/strtonum.c
* 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 <errno.h>
#include <limits.h>
#include <stdlib.h>
+#include "../config.h"
+
#define INVALID 1
#define TOOSMALL 2
#define TOOLARGE 3
blob - d76f3efb11248fbf53f5863121e132a4d9817f92
blob + 69586f03601ae01e8eca89204a45704964b26e7f
--- compat/vasprintf.c
+++ compat/vasprintf.c
#include <stdio.h>
#include <stdlib.h>
+#include "../config.h"
+
int
vasprintf(char **ret, const char *format, va_list ap)
{
blob - 97c5dd8f1b7c41324e28fbeeffb4f07858431dd5
blob + 359143f73ec0e8d783e0617afef4a68e81f928da
--- configure
+++ configure
#define HAVE_VASPRINTF ${HAVE_VASPRINTF}
__HEREDOC__
+
+[ ${HAVE_VASPRINTF} -eq 0 ] && echo "#include <stdarg.h>"
+
+[ ${HAVE_EXPLICIT_BZERO} -eq 0 -o \
+ ${HAVE_RECALLOCARRAY} -eq 0 -o \
+ ${HAVE_STRLCAT} -eq 0 -o \
+ ${HAVE_STRLCPY} -eq 0 -o \
+ ${HAVE_STRTONUM} -eq 0 ] && echo "#include <stddef.h>"
if [ ${HAVE_ERR} -eq 0 ]; then
echo "extern void err(int, const char*, ...);"