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
imap_cancel( store_t *gctx,
void (*cb)( int sts, void *aux ), void *aux )
void (*cb)( void *aux ), void *aux )
{
(void)gctx;
cb( DRV_OK, aux );
cb( aux );
}
static void

4
src/drv_maildir.c

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

2
src/isync.h

@ -210,7 +210,7 @@ struct driver {
int (*close)( store_t *ctx, /* IMAP-style: expunge inclusive */
int (*cb)( int sts, void *aux ), void *aux );
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 );
};

16
src/sync.c

@ -396,7 +396,7 @@ stats( sync_vars_t *svars )
static void sync_bail( sync_vars_t *svars );
static void sync_bail1( 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
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 */
for (t = 0; t < 2; t++)
if (svars->ret & SYNC_BAD(t))
cancel_done( DRV_STORE_BAD, AUX );
else
if (svars->ret & SYNC_BAD(t)) {
svars->drv[t]->cancel_store( svars->ctx[t] );
cancel_done( AUX );
} else {
svars->drv[t]->cancel( svars->ctx[t], cancel_done, AUX );
}
}
static void
cancel_done( int sts, void *aux )
cancel_done( void *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;
if (svars->state[1-t] & ST_CANCELED) {
Fclose( svars->nfp );

Loading…
Cancel
Save