From: Timo Sirainen Date: Sat, 26 Jul 2003 23:28:05 +0000 (+0300) Subject: Fixes for inbox case-insensitity matching X-Git-Tag: 1.1.alpha1~4457 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d63e1bad0b7b0b9d8e2d8aace9154094f8f484c0;p=thirdparty%2Fdovecot%2Fcore.git Fixes for inbox case-insensitity matching --HG-- branch : HEAD --- diff --git a/src/lib-imap/imap-match.c b/src/lib-imap/imap-match.c index 713975c6a8..87a82f851a 100644 --- a/src/lib-imap/imap-match.c +++ b/src/lib-imap/imap-match.c @@ -61,7 +61,8 @@ imap_match_init(pool_t pool, const char *mask, int inboxcase, char separator) /* check if we could be comparing INBOX. */ inboxp = inbox; glob->inboxcase = TRUE; - for (p = glob->mask; *p != '\0' && *p != '*'; p++) { + p = glob->mask; + for (; *p != '\0' && *p != '*' && *p != separator; p++) { if (*p != '%') { inboxp = strchr(inboxp, i_toupper(*p)); if (inboxp == NULL) { @@ -74,16 +75,12 @@ imap_match_init(pool_t pool, const char *mask, int inboxcase, char separator) any invalid chars */ if (*++p == '%') p++; if (*p != '\0' && *p != '*' && - *p != glob->sep_char) + *p != separator) glob->inboxcase = FALSE; break; } } } - - if (glob->inboxcase && inboxp != NULL && *inboxp != '\0' && - *p != '*' && (p != glob->mask && p[-1] != '%')) - glob->inboxcase = FALSE; } return glob;