(svn r15376) -Fix [FS#2608] (r15371): OSX/BSD also seems to define strcasecmp under some circumstances.

This commit is contained in:
rubidium 2009-02-06 15:53:48 +00:00
parent 9bc7e4bdb2
commit cecc3863cd
2 changed files with 12 additions and 3 deletions

View File

@ -362,7 +362,9 @@ char *strndup(const char *s, size_t len)
memcpy(tmp, s, len); memcpy(tmp, s, len);
return tmp; return tmp;
} }
#endif /* !_GNU_SOURCE */
#ifdef DEFINE_STRCASESTR
const char *strcasestr(const char *haystack, const char *needle) const char *strcasestr(const char *haystack, const char *needle)
{ {
size_t hay_len = strlen(haystack); size_t hay_len = strlen(haystack);
@ -376,4 +378,4 @@ const char *strcasestr(const char *haystack, const char *needle)
return NULL; return NULL;
} }
#endif /* !_GNU_SOURCE */ #endif /* DEFINE_STRCASESTR */

View File

@ -234,9 +234,16 @@ static inline bool IsWhitespace(WChar c)
} }
#ifndef _GNU_SOURCE #ifndef _GNU_SOURCE
/* strndup and strcasestr are GNU extensions */ /* strndup is a GNU extension */
char *strndup(const char *s, size_t len); char *strndup(const char *s, size_t len);
const char *strcasestr(const char *haystack, const char *needle);
#endif /* !_GNU_SOURCE */ #endif /* !_GNU_SOURCE */
/* 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)))
# undef DEFINE_STRCASESTR
#else
# define DEFINE_STRCASESTR
const char *strcasestr(const char *haystack, const char *needle);
#endif /* strcasestr is available */
#endif /* STRING_FUNC_H */ #endif /* STRING_FUNC_H */