From 811a693b803a8715e15ba56fb161d9e6b3b6b016 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Fri, 30 Sep 2016 18:54:02 +0200 Subject: strcasecompare: all case insensitive string compares ignore locale now We had some confusions on when each function was used. We should not act differently on different locales anyway. --- lib/strcase.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'lib/strcase.h') diff --git a/lib/strcase.h b/lib/strcase.h index aa36d9fab..a790653c6 100644 --- a/lib/strcase.h +++ b/lib/strcase.h @@ -24,11 +24,27 @@ #include +/* + * Only "raw" case insensitive strings. This is meant to be locale independent + * and only compare strings we know are safe for this. + * + * The function is capable of comparing a-z case insensitively even for + * non-ascii. + */ + #define strcasecompare(a,b) curl_strcasecompare(a,b) #define strncasecompare(a,b,c) curl_strncasecompare(a,b,c) int curl_strcasecompare(const char *first, const char *second); int curl_strncasecompare(const char *first, const char *second, size_t max); +char Curl_raw_toupper(char in); + +/* checkprefix() is a shorter version of the above, used when the first + argument is zero-byte terminated */ +#define checkprefix(a,b) strncasecompare(a,b,strlen(a)) + +void Curl_strntoupper(char *dest, const char *src, size_t n); +char Curl_raw_toupper(char in); #endif /* HEADER_CURL_STRCASE_H */ -- cgit v1.2.3