summaryrefslogtreecommitdiff
path: root/common/compat.c
diff options
context:
space:
mode:
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>