commit a7ab3251581340e28ad72941247afc00a149deca Author: Oswald Buddenhagen <o...@kde.org> Date: Sun Jul 22 17:32:32 2012 +0200
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. src/drv_imap.c | 4 ++-- src/drv_maildir.c | 4 ++-- src/isync.h | 2 +- src/sync.c | 16 +++++++--------- 4 files changed, 12 insertions(+), 14 deletions(-) diff --git a/src/drv_imap.c b/src/drv_imap.c index fad6eb7..e60a3f1 100644 --- a/src/drv_imap.c +++ b/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 diff --git a/src/drv_maildir.c b/src/drv_maildir.c index 020da73..48474fc 100644 --- a/src/drv_maildir.c +++ b/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 diff --git a/src/isync.h b/src/isync.h index 7f05796..c831b77 100644 --- a/src/isync.h +++ b/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 ); }; diff --git a/src/sync.c b/src/sync.c index a1f5373..f4315b3 100644 --- a/src/sync.c +++ b/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 ); ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ isync-devel mailing list isync-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/isync-devel