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 );
|
return parse_next_list( ctx, parse_namespace_rsp_p2 );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Note that parse_list_rsp() below refers to these as well.
|
||||||
static int
|
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 );
|
return parse_next_list( ctx, parse_namespace_rsp_p3 );
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
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;
|
return LIST_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1378,7 +1383,7 @@ parse_list_rsp( imap_store_t *ctx, list_t *list )
|
||||||
return parse_list_perror( ctx );
|
return parse_list_perror( ctx );
|
||||||
for (lp = list->child; lp; lp = lp->next)
|
for (lp = list->child; lp; lp = lp->next)
|
||||||
if (is_atom( lp ) && !strcasecmp( lp->val, "\\NoSelect" ))
|
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 );
|
return parse_next_list( ctx, parse_list_rsp_p1 );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user