Browse Source

move setting of ctx->listed outside the drivers

it's essentially an external state flag
wip/maildir-uid-dupes-test
Oswald Buddenhagen 14 years ago
parent
commit
c66afdc0a8
  1. 5
      src/drv_imap.c
  2. 1
      src/drv_maildir.c
  3. 1
      src/main.c

5
src/drv_imap.c

@ -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

1
src/drv_maildir.c

@ -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 );
}

1
src/main.c

@ -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;

Loading…
Cancel
Save