Mercurial > hg > openttd
changeset 15240:673afd3a2e81 draft
(svn r19874) -Fix [FS#3845]: NetBSD compilation was still broken in some cases (Krille)
author | rubidium <rubidium@openttd.org> |
---|---|
date | Fri, 21 May 2010 15:56:19 +0000 |
parents | 7af339d59bab |
children | a78f9f09cee9 |
files | src/string.cpp src/string_func.h |
diffstat | 2 files changed, 7 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/src/string.cpp +++ b/src/string.cpp @@ -398,7 +398,7 @@ return length; } -#ifndef _GNU_SOURCE +#ifdef DEFINE_STRNDUP #include "core/math_func.hpp" char *strndup(const char *s, size_t len) { @@ -407,7 +407,7 @@ memcpy(tmp, s, len); return tmp; } -#endif /* !_GNU_SOURCE */ +#endif /* DEFINE_STRNDUP */ #ifdef DEFINE_STRCASESTR char *strcasestr(const char *haystack, const char *needle)
--- a/src/string_func.h +++ b/src/string_func.h @@ -251,10 +251,13 @@ #include <sys/param.h> #endif -#if !defined(_GNU_SOURCE) && !(defined(__NetBSD_Version__) && 400000000 < __NetBSD_Version__ ) /* strndup is a GNU extension */ +#if defined(_GNU_SOURCE) || (defined(__NetBSD_Version__) && 400000000 <= __NetBSD_Version__) +# undef DEFINE_STRNDUP +#else +# define DEFINE_STRNDUP char *strndup(const char *s, size_t len); -#endif /* !_GNU_SOURCE */ +#endif /* strndup is available */ /* strcasestr is available for _GNU_SOURCE, BSD and some Apple */ #if defined(_GNU_SOURCE) || (defined(__BSD_VISIBLE) && __BSD_VISIBLE) || (defined(__APPLE__) && (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE))) || defined(_NETBSD_SOURCE)