isync

mailbox synchronization program
git clone https://git.code.sf.net/p/isync/isync
Log | Files | Refs | README | LICENSE

commit 95540264434059be249acedf25206a163d400931
parent 57444e9df9020953c14eafa01cd48cb23e99947b
Author: Oswald Buddenhagen <ossi@users.sf.net>
Date:   Sun, 22 Jul 2012 17:32:32 +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.

Diffstat:
Msrc/drv_imap.c | 4++--
Msrc/drv_maildir.c | 4++--
Msrc/isync.h | 2+-
Msrc/sync.c | 16+++++++---------
4 files changed, 12 insertions(+), 14 deletions(-)

diff --git 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 @@ -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 @@ -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 @@ -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 );