On Wed, Jun 29, 2011 at 04:43:58AM +0200, Denys Vlasenko wrote:
> On Monday 27 June 2011 20:37, Dan Fandrich wrote:
> > Are you just waiting for an update on this patch to push it in?
> > The current code in git fails to compile on non-GNU systems because of
> > missing getline().
>
> Applied the fix. Please try current git.

Attached is a patch to enable this getline() replacement on those systems
that need it.

>>> Dan
>From 8e3e22fb1b8f1edecc3867aa013b512afb62db6a Mon Sep 17 00:00:00 2001
From: Dan Fandrich <[email protected]>
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 <[email protected]>
---
 include/platform.h |   18 +++++++++++++-----
 1 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/include/platform.h b/include/platform.h
index eafc3fc..d186e49 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 <stdio.h> /* for FILE */
 extern ssize_t getline(char **lineptr, size_t *n, FILE *stream) FAST_FUNC;
 #endif
 
-- 
1.5.3.2

_______________________________________________
busybox mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/busybox

Reply via email to