Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=pacman-g2.git;a=commitdiff;h=d7591ac978adc4d983b75e8a8bac59c0930b523e

commit d7591ac978adc4d983b75e8a8bac59c0930b523e
Author: Michel Hermier <[email protected]>
Date:   Wed Nov 13 08:17:13 2013 +0100

libpacman: Move pmtrans_t fini operations from _pacman_trans_free to 
_pacman_trans_fini.

diff --git a/lib/libpacman/trans.c b/lib/libpacman/trans.c
index 527a2a4..015d91f 100644
--- a/lib/libpacman/trans.c
+++ b/lib/libpacman/trans.c
@@ -80,19 +80,6 @@ void _pacman_trans_free(pmtrans_t *trans)
return;
}

-       FREELIST(trans->targets);
-       if(trans->type == PM_TRANS_TYPE_SYNC) {
-               pmlist_t *i;
-               for(i = trans->packages; i; i = i->next) {
-                       FREESYNC(i->data);
-               }
-               FREELIST(trans->packages);
-       } else {
-               FREELISTPKGS(trans->packages);
-       }
-       FREELIST(trans->skiplist);
-       FREELIST(trans->triggers);
-
_pacman_trans_fini(trans);
free(trans);
}
@@ -134,6 +121,24 @@ int _pacman_trans_init(pmtrans_t *trans, pmtranstype_t 
type, unsigned int flags,

void _pacman_trans_fini(pmtrans_t *trans)
{
+       /* Sanity checks */
+       ASSERT(trans != NULL, RET_ERR(PM_ERR_TRANS_NULL, -1));
+
+       FREELIST(trans->targets);
+       if(trans->type == PM_TRANS_TYPE_SYNC) {
+               pmlist_t *i;
+               for(i = trans->packages; i; i = i->next) {
+                       FREESYNC(i->data);
+               }
+               FREELIST(trans->packages);
+       } else {
+               FREELISTPKGS(trans->packages);
+       }
+       FREELIST(trans->skiplist);
+       FREELIST(trans->triggers);
+
+       memset(trans, 0, sizeof(*trans));
+       trans->state = STATE_IDLE;
}

int _pacman_trans_sysupgrade(pmtrans_t *trans)
_______________________________________________
Frugalware-git mailing list
[email protected]
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to