diff options
-rw-r--r-- | libmailutils/url/accessor.h | 15 | ||||
-rw-r--r-- | libmailutils/url/get-auth.c | 1 | ||||
-rw-r--r-- | libmailutils/url/get-host.c | 1 |
3 files changed, 15 insertions, 2 deletions
diff --git a/libmailutils/url/accessor.h b/libmailutils/url/accessor.h index 309a7aa63..fa3ed7e6e 100644 --- a/libmailutils/url/accessor.h +++ b/libmailutils/url/accessor.h @@ -34,8 +34,8 @@ /* General accessors: */ #define AC2(a,b) a ## b -#define METHOD(pfx,part) AC2(pfx,part) #define AC4(a,b,c,d) a ## b ## c ## d +#define METHOD(pfx,part) AC2(pfx,part) #define ACCESSOR(action,field) AC4(mu_url_,action,_,field) /* Define a `static get' accessor */ @@ -123,6 +123,17 @@ ACCESSOR(aget, URL_PART) (mu_url_t url, char **buf) return status; } +#ifndef URL_PART_CMP +# ifndef URL_PART_CMP_ICASE +# define URL_PART_CMP_ICASE 0 +# endif +# if URL_PART_CMP_ICASE +# define URL_PART_CMP mu_c_strcasecmp +# else +# define URL_PART_CMP strcmp +# endif +#endif + /* Define a comparator */ int ACCESSOR(is_same,URL_PART) (mu_url_t url1, mu_url_t url2) @@ -139,5 +150,5 @@ ACCESSOR(is_same,URL_PART) (mu_url_t url1, mu_url_t url2) if (status1 || status2) return status1 == status2; /* Both fields are missing */ - return mu_c_strcasecmp (s1, s2) == 0; + return URL_PART_CMP (s1, s2) == 0; } diff --git a/libmailutils/url/get-auth.c b/libmailutils/url/get-auth.c index b9650a53c..c8c7ca7aa 100644 --- a/libmailutils/url/get-auth.c +++ b/libmailutils/url/get-auth.c @@ -1,3 +1,4 @@ #define URL_PART auth +#define URL_PART_CMP_ICASE 1 #include "accessor.h" diff --git a/libmailutils/url/get-host.c b/libmailutils/url/get-host.c index 6de6b564e..9ef6db853 100644 --- a/libmailutils/url/get-host.c +++ b/libmailutils/url/get-host.c @@ -1,2 +1,3 @@ #define URL_PART host +#define URL_PART_CMP_ICASE 1 #include "accessor.h" |