X-Git-Url: https://code.citadel.org/?p=citadel.git;a=blobdiff_plain;f=citadel%2Fmodules%2Fimap%2Fimap_tools.c;fp=citadel%2Fmodules%2Fimap%2Fimap_tools.c;h=e3cc6bffce11a878c15b5f25e8783ae4c51ccd89;hp=d1c5d9580df5006cd58e625d5299f9e847ba7100;hb=721e2cc8f2ea53d2b3b21c7fb0bda27138545006;hpb=71ba7e0d138b816b4b7b5c0b94990e3e6a868ffc diff --git a/citadel/modules/imap/imap_tools.c b/citadel/modules/imap/imap_tools.c index d1c5d9580..e3cc6bffc 100644 --- a/citadel/modules/imap/imap_tools.c +++ b/citadel/modules/imap/imap_tools.c @@ -569,13 +569,13 @@ void imap_mailboxname(char *buf, int bufsize, struct ctdlroom *qrbuf) if (qrbuf->QRflags & QR_MAILBOX) { if (strcasecmp(qrbuf->QRname+11, MAILROOM) == 0) - p = toimap(p, bufend, "INBOX"); + toimap(p, bufend, "INBOX"); else { p = toimap(p, bufend, "INBOX"); if (p < bufend) *p++ = '/'; - p = toimap(p, bufend, qrbuf->QRname+11); + toimap(p, bufend, qrbuf->QRname+11); } } else @@ -586,7 +586,7 @@ void imap_mailboxname(char *buf, int bufsize, struct ctdlroom *qrbuf) p = toimap(p, bufend, fl->f_name); if (p < bufend) *p++ = '/'; - p = toimap(p, bufend, qrbuf->QRname); + toimap(p, bufend, qrbuf->QRname); } } @@ -840,7 +840,10 @@ star: } return WILDMAT_TRUE; } - while (!IsEmptyStr(text) && (*(text - 1) != WILDMAT_DELIM)) { + while (!IsEmptyStr(text) && + /* make shure texst - 1 isn't before lcase_p */ + ((text == lcase_text) || (*(text - 1) != WILDMAT_DELIM))) + { if ((matched = do_imap_match(text++, p)) != WILDMAT_FALSE) { return matched;