Browse Source

make drv->cancel()'s callback have no status code

this function is not going to actually execute any commands, so it
makes no sense for the callback to have a status code.
wip/maildir-uid-dupes-test
Oswald Buddenhagen 12 years ago
parent
commit
9554026443
  1. 4
      src/drv_imap.c
  2. 4
      src/drv_maildir.c
  3. 2
      src/isync.h
  4. 16
      src/sync.c

4
src/drv_imap.c

@ -1727,10 +1727,10 @@ imap_list( store_t *gctx,
static void static void
imap_cancel( store_t *gctx, imap_cancel( store_t *gctx,
void (*cb)( int sts, void *aux ), void *aux ) void (*cb)( void *aux ), void *aux )
{ {
(void)gctx; (void)gctx;
cb( DRV_OK, aux ); cb( aux );
} }
static void static void

4
src/drv_maildir.c

@ -1209,10 +1209,10 @@ maildir_close( store_t *gctx,
static void static void
maildir_cancel( store_t *gctx, maildir_cancel( store_t *gctx,
void (*cb)( int sts, void *aux ), void *aux ) void (*cb)( void *aux ), void *aux )
{ {
(void)gctx; (void)gctx;
cb( DRV_OK, aux ); cb( aux );
} }
static void static void

2
src/isync.h

@ -210,7 +210,7 @@ struct driver {
int (*close)( store_t *ctx, /* IMAP-style: expunge inclusive */ int (*close)( store_t *ctx, /* IMAP-style: expunge inclusive */
int (*cb)( int sts, void *aux ), void *aux ); int (*cb)( int sts, void *aux ), void *aux );
void (*cancel)( store_t *ctx, /* only not yet sent commands */ void (*cancel)( store_t *ctx, /* only not yet sent commands */
void (*cb)( int sts, void *aux ), void *aux ); void (*cb)( void *aux ), void *aux );
void (*commit)( store_t *ctx ); void (*commit)( store_t *ctx );
}; };

16
src/sync.c

@ -396,7 +396,7 @@ stats( sync_vars_t *svars )
static void sync_bail( sync_vars_t *svars ); static void sync_bail( sync_vars_t *svars );
static void sync_bail1( sync_vars_t *svars ); static void sync_bail1( sync_vars_t *svars );
static void sync_bail2( sync_vars_t *svars ); static void sync_bail2( sync_vars_t *svars );
static void cancel_done( int sts, void *aux ); static void cancel_done( void *aux );
static void static void
cancel_sync( sync_vars_t *svars ) cancel_sync( sync_vars_t *svars )
@ -405,21 +405,19 @@ cancel_sync( sync_vars_t *svars )
/* the 1st round is guaranteed not to trash svars */ /* the 1st round is guaranteed not to trash svars */
for (t = 0; t < 2; t++) for (t = 0; t < 2; t++)
if (svars->ret & SYNC_BAD(t)) if (svars->ret & SYNC_BAD(t)) {
cancel_done( DRV_STORE_BAD, AUX ); svars->drv[t]->cancel_store( svars->ctx[t] );
else cancel_done( AUX );
} else {
svars->drv[t]->cancel( svars->ctx[t], cancel_done, AUX ); svars->drv[t]->cancel( svars->ctx[t], cancel_done, AUX );
} }
}
static void static void
cancel_done( int sts, void *aux ) cancel_done( void *aux )
{ {
DECL_INIT_SVARS(aux); DECL_INIT_SVARS(aux);
if (sts != DRV_OK) {
svars->ret |= SYNC_BAD(t);
svars->drv[t]->cancel_store( svars->ctx[t] );
}
svars->state[t] |= ST_CANCELED; svars->state[t] |= ST_CANCELED;
if (svars->state[1-t] & ST_CANCELED) { if (svars->state[1-t] & ST_CANCELED) {
Fclose( svars->nfp ); Fclose( svars->nfp );

Loading…
Cancel
Save