move setting of ctx->listed outside the drivers

it's essentially an external state flag
This commit is contained in:
Oswald Buddenhagen 2011-06-13 12:02:00 +02:00
parent 7bab2d6d94
commit c66afdc0a8
3 changed files with 2 additions and 5 deletions

View File

@ -1737,11 +1737,8 @@ imap_list( store_t *gctx,
void (*cb)( int sts, void *aux ), void *aux )
{
imap_store_t *ctx = (imap_store_t *)gctx;
int ret;
if ((ret = imap_exec_b( ctx, 0, "LIST \"\" \"%s%%\"", ctx->prefix )) == DRV_OK)
gctx->listed = 1;
cb( ret, aux );
cb( imap_exec_b( ctx, 0, "LIST \"\" \"%s%%\"", ctx->prefix ), aux );
}
static void

View File

@ -186,7 +186,6 @@ maildir_list( store_t *gctx,
!memcmp( buf, inbox, bl - 4 ) && !inbox[bl - 4] ? "INBOX" : de->d_name );
}
closedir (dir);
gctx->listed = 1;
cb( DRV_OK, aux );
}

View File

@ -705,6 +705,7 @@ store_listed( int sts, void *aux )
mvars->state[t] = ST_OPEN;
switch (sts) {
case DRV_OK:
mvars->ctx[t]->listed = 1;
if (mvars->ctx[t]->conf->map_inbox)
add_string_list( &mvars->ctx[t]->boxes, mvars->ctx[t]->conf->map_inbox );
break;