From 0e79e7bb420c58fa8e5d2d88c5d3a26f94c761af Mon Sep 17 00:00:00 2001 From: Dan Fandrich Date: Tue, 28 Jun 2011 23:03:27 -0700 Subject: [PATCH] Use the built-in getline on more systems that don't have it Signed-off-by: Dan Fandrich Signed-off-by: Denys Vlasenko --- include/platform.h | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/include/platform.h b/include/platform.h index eafc3fcfe..d186e4911 100644 --- a/include/platform.h +++ b/include/platform.h @@ -376,6 +376,7 @@ typedef unsigned smalluint; #if defined(__WATCOMC__) # undef HAVE_DPRINTF +# undef HAVE_GETLINE # undef HAVE_MEMRCHR # undef HAVE_MKDTEMP # undef HAVE_SETBIT @@ -389,15 +390,13 @@ typedef unsigned smalluint; # undef HAVE_NET_ETHERNET_H #endif -#if defined(__FreeBSD__) -# undef HAVE_STRCHRNUL -#endif - +/* These BSD-derived OSes share many similarities */ #if (defined __digital__ && defined __unix__) \ || defined __APPLE__ \ || defined __FreeBSD__ || defined __OpenBSD__ || defined __NetBSD__ # undef HAVE_CLEARENV # undef HAVE_FDATASYNC +# undef HAVE_GETLINE # undef HAVE_MNTENT_H # undef HAVE_PTSNAME_R # undef HAVE_SYS_STATFS_H @@ -407,13 +406,21 @@ typedef unsigned smalluint; # undef HAVE_DPRINTF #endif +#if defined(__FreeBSD__) +# undef HAVE_STRCHRNUL +#endif + +#if defined(__NetBSD__) +# define HAVE_GETLINE 1 /* Recent NetBSD versions have getline() */ +#endif + #if defined(__digital__) && defined(__unix__) # undef HAVE_STPCPY -# undef HAVE_STRVERSCMP #endif #if defined(ANDROID) # undef HAVE_DPRINTF +# undef HAVE_GETLINE # undef HAVE_STPCPY # undef HAVE_STRCHRNUL # undef HAVE_STRVERSCMP @@ -472,6 +479,7 @@ extern int vasprintf(char **string_ptr, const char *format, va_list p) FAST_FUNC #endif #ifndef HAVE_GETLINE +#include /* for FILE */ extern ssize_t getline(char **lineptr, size_t *n, FILE *stream) FAST_FUNC; #endif