(svn r15371) -Codechange: add an implementation of strcasestr for when _GNU_SOURCE isn't defined.

pull/155/head
rubidium 16 years ago
parent 3758ba890a
commit 0ffb019103

@ -362,4 +362,18 @@ char *strndup(const char *s, size_t len)
memcpy(tmp, s, len);
return tmp;
}
const char *strcasestr(const char *haystack, const char *needle)
{
size_t hay_len = strlen(haystack);
size_t needle_len = strlen(needle);
while (hay_len >= needle_len) {
if (strncasecmp(haystack, needle, needle_len) == 0) return haystack;
haystack++;
hay_len--;
}
return NULL;
}
#endif /* !_GNU_SOURCE */

@ -234,8 +234,9 @@ static inline bool IsWhitespace(WChar c)
}
#ifndef _GNU_SOURCE
/* strndup is a GNU extension */
/* strndup and strcasestr are GNU extensions */
char *strndup(const char *s, size_t len);
const char *strcasestr(const char *haystack, const char *needle);
#endif /* !_GNU_SOURCE */
#endif /* STRING_FUNC_H */

Loading…
Cancel
Save