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

Reply via email to