Fixed checking for tags in folder lists

This commit is contained in:
Pierre Pronchery 2012-12-26 16:49:35 +01:00
parent 4cedcd0169
commit bd37449b3e

View File

@ -803,7 +803,7 @@ static int _context_list(IMAP4 * imap4, char const * answer)
p += 5; p += 5;
if(*p == '(') /* parse flags */ if(*p == '(') /* parse flags */
{ {
for(p++; *p == '\\'; p++) for(p++; *p == '\\';)
{ {
#ifdef DEBUG #ifdef DEBUG
fprintf(stderr, "DEBUG: %s() flag \"%s\"\n", __func__, fprintf(stderr, "DEBUG: %s() flag \"%s\"\n", __func__,
@ -812,12 +812,14 @@ static int _context_list(IMAP4 * imap4, char const * answer)
if(strncmp(p, haschildren, sizeof(haschildren) - 1) if(strncmp(p, haschildren, sizeof(haschildren) - 1)
== 0) == 0)
{ {
p += sizeof(haschildren) - 2; p += sizeof(haschildren) - 1;
recurse = 1; recurse = 1;
} }
else else
/* skip until end of flag */ /* skip until end of flag */
for(p++; isalnum((unsigned char)*p); p++); for(p++; isalnum((unsigned char)*p); p++);
/* skip spaces */
for(; *p == ' '; p++);
if(*p == ')') if(*p == ')')
break; break;
} }