diff options
author | rubidium <rubidium@openttd.org> | 2009-02-06 11:58:52 +0000 |
---|---|---|
committer | rubidium <rubidium@openttd.org> | 2009-02-06 11:58:52 +0000 |
commit | 0ffb01910399ca9a938726e68fb93da3dddb2aa1 (patch) | |
tree | 92ebbd45ce250d7e2bab43cb459aa838e68ab0b1 /src/string.cpp | |
parent | 3758ba890a97140af1843ebdd47cda05254f92da (diff) | |
download | openttd-0ffb01910399ca9a938726e68fb93da3dddb2aa1.tar.xz |
(svn r15371) -Codechange: add an implementation of strcasestr for when _GNU_SOURCE isn't defined.
Diffstat (limited to 'src/string.cpp')
-rw-r--r-- | src/string.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/string.cpp b/src/string.cpp index 8b22937ae..289031cfc 100644 --- a/src/string.cpp +++ b/src/string.cpp @@ -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 */ |