Loading lib/strequal.c +25 −6 Original line number Diff line number Diff line Loading @@ -78,6 +78,25 @@ int curl_strnequal(const char *first, const char *second, size_t max) #endif } /* * Curl_strcasestr() finds the first occurrence of the substring needle in the * string haystack. The terminating `\0' characters are not compared. The * matching is done CASE INSENSITIVE, which thus is the difference between * this and strstr(). */ char *Curl_strcasestr(const char *haystack, const char *needle) { size_t nlen = strlen(needle); size_t hlen = strlen(haystack); while(hlen-- >= nlen) { if(curl_strnequal(haystack, needle, nlen)) return (char *)haystack; haystack++; } return NULL; } #ifndef HAVE_STRLCAT /* * The strlcat() function appends the NUL-terminated string src to the end Loading lib/strequal.h +8 −5 Original line number Diff line number Diff line Loading @@ -36,6 +36,9 @@ int curl_strnequal(const char *first, const char *second, size_t max); argument is zero-byte terminated */ #define checkprefix(a,b) strnequal(a,b,strlen(a)) /* case insensitive strstr() */ char *Curl_strcasestr(const char *haystack, const char *needle); #ifndef HAVE_STRLCAT #define strlcat(x,y,z) Curl_strlcat(x,y,z) size_t Curl_strlcat(char *dst, const char *src, size_t siz); Loading Loading
lib/strequal.c +25 −6 Original line number Diff line number Diff line Loading @@ -78,6 +78,25 @@ int curl_strnequal(const char *first, const char *second, size_t max) #endif } /* * Curl_strcasestr() finds the first occurrence of the substring needle in the * string haystack. The terminating `\0' characters are not compared. The * matching is done CASE INSENSITIVE, which thus is the difference between * this and strstr(). */ char *Curl_strcasestr(const char *haystack, const char *needle) { size_t nlen = strlen(needle); size_t hlen = strlen(haystack); while(hlen-- >= nlen) { if(curl_strnequal(haystack, needle, nlen)) return (char *)haystack; haystack++; } return NULL; } #ifndef HAVE_STRLCAT /* * The strlcat() function appends the NUL-terminated string src to the end Loading
lib/strequal.h +8 −5 Original line number Diff line number Diff line Loading @@ -36,6 +36,9 @@ int curl_strnequal(const char *first, const char *second, size_t max); argument is zero-byte terminated */ #define checkprefix(a,b) strnequal(a,b,strlen(a)) /* case insensitive strstr() */ char *Curl_strcasestr(const char *haystack, const char *needle); #ifndef HAVE_STRLCAT #define strlcat(x,y,z) Curl_strlcat(x,y,z) size_t Curl_strlcat(char *dst, const char *src, size_t siz); Loading