]> git.ipfire.org Git - pakfire.git/commitdiff
transaction: Refactor some code without functional changes
authorMichael Tremer <michael.tremer@ipfire.org>
Thu, 22 Apr 2021 16:45:18 +0000 (16:45 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Thu, 22 Apr 2021 16:45:18 +0000 (16:45 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/libpakfire/transaction.c

index 88a9cb8a2cd1d0ad5a98ee91c1a203e6610417e2..5a8c17ef8adbfd7aa65683656c79f1f0e04d6f95 100644 (file)
@@ -121,29 +121,25 @@ PAKFIRE_EXPORT PakfireTransaction pakfire_transaction_create(Pakfire pakfire, Tr
 }
 
 PAKFIRE_EXPORT PakfireTransaction pakfire_transaction_ref(PakfireTransaction transaction) {
-       if (!transaction)
-               return NULL;
-
        transaction->nrefs++;
+
        return transaction;
 }
 
 void pakfire_transaction_free(PakfireTransaction transaction) {
        DEBUG(transaction->pakfire, "Releasing Transaction at %p\n", transaction);
-       pakfire_unref(transaction->pakfire);
 
        // Release all steps
        while (*transaction->steps)
                pakfire_step_unref(*transaction->steps++);
 
        transaction_free(transaction->transaction);
+
+       pakfire_unref(transaction->pakfire);
        free(transaction);
 }
 
 PAKFIRE_EXPORT PakfireTransaction pakfire_transaction_unref(PakfireTransaction transaction) {
-       if (!transaction)
-               return NULL;
-
        if (--transaction->nrefs > 0)
                return transaction;
 
@@ -173,37 +169,27 @@ PAKFIRE_EXPORT ssize_t pakfire_transaction_installsizechange(PakfireTransaction
 PAKFIRE_EXPORT ssize_t pakfire_transaction_downloadsize(PakfireTransaction transaction) {
        ssize_t size = 0;
 
-       PakfireStep* steps = transaction->steps;
-       while (*steps) {
-               PakfireStep step = *steps++;
-
-               size += pakfire_step_get_downloadsize(step);
-       }
+       for (PakfireStep* step = transaction->steps; *step; step++)
+               size += pakfire_step_get_downloadsize(*step);
 
        return size;
 }
 
 PAKFIRE_EXPORT PakfireStep pakfire_transaction_get_step(PakfireTransaction transaction, unsigned int index) {
-       PakfireStep* steps = transaction->steps;
-
-       while (index-- && *steps)
-               steps++;
-
-       if (*steps)
-               return pakfire_step_ref(*steps);
+       if (index >= transaction->num_steps)
+               return NULL;
 
-       return NULL;
+       return pakfire_step_ref(transaction->steps[index]);
 }
 
 PAKFIRE_EXPORT PakfirePackageList pakfire_transaction_get_packages(PakfireTransaction transaction, pakfire_step_type_t type) {
        PakfirePackageList packagelist = pakfire_packagelist_create(transaction->pakfire);
+       if (!packagelist)
+               return NULL;
 
-       PakfireStep* steps = transaction->steps;
-       while (*steps) {
-               PakfireStep step = *steps++;
-
-               if (pakfire_step_get_type(step) == type) {
-                       PakfirePackage package = pakfire_step_get_package(step);
+       for (PakfireStep* step = transaction->steps; *step; step++) {
+               if (pakfire_step_get_type(*step) == type) {
+                       PakfirePackage package = pakfire_step_get_package(*step);
                        pakfire_packagelist_push(packagelist, package);
 
                        pakfire_package_unref(package);
@@ -349,10 +335,7 @@ PAKFIRE_EXPORT char* pakfire_transaction_dump(PakfireTransaction transaction, si
                (sizechange >= 0) ? _("Installed Size") : _("Freed Size"), sizechange);
 
        // Remove trailing newline
-       size_t l = strlen(string) - 1;
-
-       if (l > 0 && string[l] == '\n')
-               string[l] = '\0';
+       pakfire_remove_trailing_newline(string);
 
        DEBUG(transaction->pakfire, "Transaction: %s\n", string);