make sure that all IMAP lists are parsed
... even if we ignore their contents, as they may (hypothetically) contain literals, which are relevant for the stream syntax. amends 6fd4e8de2.
This commit is contained in:
parent
a07be5f175
commit
5048521d79
@ -1028,15 +1028,20 @@ parse_namespace_rsp( imap_store_t *ctx, list_t *list )
|
||||
return parse_next_list( ctx, parse_namespace_rsp_p2 );
|
||||
}
|
||||
|
||||
// Note that parse_list_rsp() below refers to these as well.
|
||||
static int
|
||||
parse_namespace_rsp_p2( imap_store_t *ctx, list_t *list ATTR_UNUSED )
|
||||
parse_namespace_rsp_p2( imap_store_t *ctx, list_t *list )
|
||||
{
|
||||
if (!list)
|
||||
return parse_list_perror( ctx );
|
||||
return parse_next_list( ctx, parse_namespace_rsp_p3 );
|
||||
}
|
||||
|
||||
static int
|
||||
parse_namespace_rsp_p3( imap_store_t *ctx ATTR_UNUSED, list_t *list ATTR_UNUSED )
|
||||
parse_namespace_rsp_p3( imap_store_t *ctx, list_t *list )
|
||||
{
|
||||
if (!list)
|
||||
return parse_list_perror( ctx );
|
||||
return LIST_OK;
|
||||
}
|
||||
|
||||
@ -1378,7 +1383,7 @@ parse_list_rsp( imap_store_t *ctx, list_t *list )
|
||||
return parse_list_perror( ctx );
|
||||
for (lp = list->child; lp; lp = lp->next)
|
||||
if (is_atom( lp ) && !strcasecmp( lp->val, "\\NoSelect" ))
|
||||
return LIST_OK;
|
||||
return parse_next_list( ctx, parse_namespace_rsp_p2 ); // (sic!)
|
||||
return parse_next_list( ctx, parse_list_rsp_p1 );
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user