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

commit 6b838cd58c6cd6ed21043a9aeb06ae50bbbcacb3
Author: Michel Hermier <[email protected]>
Date:   Tue May 13 22:39:20 2014 +0200

libpacman: Avoid a Package::dup in _pacman_db_add_pkgincache.

diff --git a/lib/libpacman/cache.cpp b/lib/libpacman/cache.cpp
index 89b8dd1..c106a49 100644
--- a/lib/libpacman/cache.cpp
+++ b/lib/libpacman/cache.cpp
@@ -110,19 +110,14 @@ pmlist_t *_pacman_db_get_pkgcache(Database *db)

int _pacman_db_add_pkgincache(Database *db, Package *pkg)
{
-       Package *newpkg;
-
ASSERT(db != NULL, RET_ERR(PM_ERR_DB_NULL, -1));
if(pkg == NULL) {
return(-1);
}

-       newpkg = pkg->dup();
-       if(newpkg == NULL) {
-               return(-1);
-       }
-       _pacman_log(PM_LOG_DEBUG, _("adding entry '%s' in '%s' cache"), 
newpkg->name(), db->treename);
-       db->pkgcache = _pacman_list_add_sorted(db->pkgcache, newpkg, 
_pacman_pkg_cmp);
+       pkg->acquire(); // FIXME: Should not be necessary, but required during 
migration to refcounted object
+       _pacman_log(PM_LOG_DEBUG, _("adding entry '%s' in '%s' cache"), 
pkg->name(), db->treename);
+       db->pkgcache = _pacman_list_add_sorted(db->pkgcache, pkg, 
_pacman_pkg_cmp);

_pacman_db_clear_grpcache(db);

@@ -145,7 +140,7 @@ int _pacman_db_remove_pkgfromcache(Database *db, Package 
*pkg)
}

_pacman_log(PM_LOG_DEBUG, _("removing entry '%s' from '%s' cache"), 
pkg->name(), db->treename);
-       data->release();
+       data->release(); // FIXME: Should not be necessary, but required during 
migration to refcounted object

_pacman_db_clear_grpcache(db);
_______________________________________________
Frugalware-git mailing list
[email protected]
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to