commit 720de7760e51356380237ec3cada442005edf450 Author: Oswald Buddenhagen <o...@kde.org> Date: Sun Mar 20 18:23:09 2011 +0100
centralize imap_cmd_refcounted_state refcount decrementing no else branches remain, so the if() can be put into imap_refcounted_done() src/drv_imap.c | 18 ++++++++---------- 1 files changed, 8 insertions(+), 10 deletions(-) diff --git a/src/drv_imap.c b/src/drv_imap.c index a5d99c2..875da2d 100644 --- a/src/drv_imap.c +++ b/src/drv_imap.c @@ -428,8 +428,10 @@ imap_refcounted_new_cmd( struct imap_cmd_refcounted_state *sts ) static void imap_refcounted_done( struct imap_cmd_refcounted_state *sts ) { - sts->callback( sts->ret_val, sts->callback_aux ); - free( sts ); + if (!--sts->ref_count) { + sts->callback( sts->ret_val, sts->callback_aux ); + free( sts ); + } } static int @@ -1497,8 +1499,7 @@ imap_load( store_t *gctx, int minuid, int maxuid, int *excs, int nexcs, } done: free( excs ); - if (!--sts->ref_count) - imap_refcounted_done( sts ); + imap_refcounted_done( sts ); } } @@ -1525,8 +1526,7 @@ imap_load_p2( imap_store_t *ctx ATTR_UNUSED, struct imap_cmd *cmd, int response sts->ret_val = DRV_BOX_BAD; break; } - if (!--sts->ref_count) - imap_refcounted_done( sts ); + imap_refcounted_done( sts ); } /******************* imap_fetch_msg *******************/ @@ -1595,8 +1595,7 @@ imap_set_flags( store_t *gctx, message_t *msg, int uid, int add, int del, struct imap_cmd_refcounted_state *sts = imap_refcounted_new_state( cb, aux ); if ((add && imap_flags_helper( ctx, uid, '+', add, sts ) < 0) || (del && imap_flags_helper( ctx, uid, '-', del, sts ) < 0)) {} - if (!--sts->ref_count) - imap_refcounted_done( sts ); + imap_refcounted_done( sts ); } else { cb( DRV_OK, aux ); } @@ -1615,8 +1614,7 @@ imap_set_flags_p2( imap_store_t *ctx ATTR_UNUSED, struct imap_cmd *cmd, int resp sts->ret_val = DRV_MSG_BAD; break; } - if (!--sts->ref_count) - imap_refcounted_done( sts ); + imap_refcounted_done( sts ); } /******************* imap_close *******************/ ------------------------------------------------------------------------------ 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