Provide local implementation of strcasestr for Solaris
authorDavid Woodhouse <David.Woodhouse@intel.com>
Tue, 3 Nov 2009 15:38:02 +0000 (15:38 +0000)
committerDavid Woodhouse <David.Woodhouse@intel.com>
Tue, 3 Nov 2009 15:38:02 +0000 (15:38 +0000)
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
http.c

diff --git a/http.c b/http.c
index d09c64b..be0ea98 100644 (file)
--- a/http.c
+++ b/http.c
@@ -426,6 +426,27 @@ static int run_csd_script(struct openconnect_info *vpninfo, char *buf, int bufle
        return 0;
 }
 
+#ifdef __sun__
+char *local_strcasestr(const char *haystack, const char *needle)
+{
+       int hlen = strlen(haystack);
+       int nlen = strlen(needle);
+       int i, j;
+
+       for (i = 0; i < hlen - nlen + 1; i++) {
+               for (j = 0; j < nlen; j++) {
+                       if (tolower(haystack[i + j]) != 
+                           tolower(needle[j]))
+                               break;
+               }
+               if (j == nlen)
+                       return (char *)haystack + i;
+       }
+       return NULL;
+}
+#define strcasestr local_strcasestr
+#endif
+
 /* Return value:
  *  < 0, on error
  *  = 0, no cookie (user cancel)