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.
This commit is contained in:
parent
57444e9df9
commit
9554026443
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
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…
Reference in New Issue
Block a user