Преглед на файлове

move setting of ctx->listed outside the drivers

it's essentially an external state flag
Oswald Buddenhagen преди 14 години
родител
ревизия
c66afdc0a8
променени са 3 файла, в които са добавени 2 реда и са изтрити 5 реда
  1. 1 4
      src/drv_imap.c
  2. 0 1
      src/drv_maildir.c
  3. 1 0
      src/main.c

+ 1 - 4
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

+ 0 - 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 - 0
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;