summaryrefslogtreecommitdiff
path: root/common/compat.c
diff options
context:
space:
mode:
authorStef Walter <stef@memberwebs.com>2006-10-12 16:57:18 +0000
committerStef Walter <stef@memberwebs.com>2006-10-12 16:57:18 +0000
commit310e1d3b2ef4ebf868020debb3b4bb6190e12367 (patch)
tree0dd3ec9ea68de7c3b5c1ae16ffe1771f2c3f0d8f /common/compat.c
parentf0f9f9b90b4cedd0fb24db012770ec7c95a9cce9 (diff)
Add strcasestr which is missing on solaris.
Diffstat (limited to 'common/compat.c')
-rw-r--r--common/compat.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/common/compat.c b/common/compat.c
index 40e4c73..1c620aa 100644
--- a/common/compat.c
+++ b/common/compat.c
@@ -179,6 +179,34 @@ size_t strlcat(char* dst, const char* src, size_t siz)
#endif
+#ifndef HAVE_STRCASESTR
+
+const char* strcasestr(const char *s, const char *find)
+{
+ char c, sc;
+ size_t len;
+
+ if((c = *find++) != 0)
+ {
+ c = tolower((unsigned char)c);
+ len = strlen(find);
+ do
+ {
+ do
+ {
+ if((sc = *s++) == 0)
+ return (NULL);
+ }
+ while((char)tolower((unsigned char)sc) != c);
+ }
+ while (strncasecmp(s, find, len) != 0);
+ s--;
+ }
+ return((const char*)s);
+}
+
+#endif
+
#ifndef HAVE_SETENV
#include <stdio.h>