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

commit 3e29b90a270109a5e8f7ebee11f65d1d5348d649
Author: Michel Hermier <[email protected]>
Date:   Wed Oct 8 09:48:37 2014 +0200

libpacman: Make _pacman_db_free_pkgcache an method of Database.

diff --git a/lib/libpacman/cache.h b/lib/libpacman/cache.h
index 431da7d..622ae92 100644
--- a/lib/libpacman/cache.h
+++ b/lib/libpacman/cache.h
@@ -26,7 +26,6 @@
#include "db.h"

/* packages */
-void _pacman_db_free_pkgcache(libpacman::Database *db);
int _pacman_db_add_pkgincache(libpacman::Database *db, libpacman::Package *pkg);
int _pacman_db_remove_pkgfromcache(libpacman::Database *db, libpacman::Package 
*pkg);
/* groups */
diff --git a/lib/libpacman/database_cache.cpp b/lib/libpacman/database_cache.cpp
index 7e6e7db..20a7df2 100644
--- a/lib/libpacman/database_cache.cpp
+++ b/lib/libpacman/database_cache.cpp
@@ -62,7 +62,7 @@ int _pacman_db_load_pkgcache(Database *db)

ASSERT(db != NULL, RET_ERR(PM_ERR_DB_NULL, -1));

-       _pacman_db_free_pkgcache(db);
+       db->free_pkgcache();

unsigned int inforeq = 0;
if (db != db->m_handle->db_local)
@@ -79,19 +79,18 @@ int _pacman_db_load_pkgcache(Database *db)
return(0);
}

-void _pacman_db_free_pkgcache(Database *db)
+void Database::free_pkgcache()
{
-       ASSERT(db != NULL, pm_errno = PM_ERR_DB_NULL; return);
-       if(db->pkgcache.empty()) {
+       if(pkgcache.empty()) {
return;
}

_pacman_log(PM_LOG_DEBUG, _("freeing package cache for repository '%s'"),
-                               db->treename());
+                               treename());

-       db->pkgcache.clear(/*_pacman_pkg_delete*/);
+       pkgcache.clear(/*_pacman_pkg_delete*/);

-       _pacman_db_clear_grpcache(db);
+       _pacman_db_clear_grpcache(this);
}

libpacman::package_set &Database::get_packages()
diff --git a/lib/libpacman/db.h b/lib/libpacman/db.h
index 883f587..c01be5b 100644
--- a/lib/libpacman/db.h
+++ b/lib/libpacman/db.h
@@ -71,6 +71,8 @@ public:
virtual int write(libpacman::Package *info, unsigned int inforeq);

/* Cache operations */
+       void free_pkgcache();
+
FList<libpacman::Package *> filter(const libpacman::PackageMatcher 
&packagematcher);
FList<libpacman::Package *> filter(const FStrMatcher *strmatcher, int 
packagestrmatcher_flags);
FList<libpacman::Package *> filter(const FStringList &needles, int 
packagestrmatcher_flags, int strmatcher_flags = FStrMatcher::EQUAL);
diff --git a/lib/libpacman/db/syncdb.cpp b/lib/libpacman/db/syncdb.cpp
index 44a91c0..b18247f 100644
--- a/lib/libpacman/db/syncdb.cpp
+++ b/lib/libpacman/db/syncdb.cpp
@@ -189,7 +189,7 @@ int _pacman_syncdb_update(Database *db, int force)
_pacman_rmrf(dirpath);

/* Cache needs to be rebuild */
-               _pacman_db_free_pkgcache(db);
+               db->free_pkgcache();

if(updated) {
db->settimestamp(&newmtime);
diff --git a/lib/libpacman/pacman.cpp b/lib/libpacman/pacman.cpp
index 0e7a041..db73799 100644
--- a/lib/libpacman/pacman.cpp
+++ b/lib/libpacman/pacman.cpp
@@ -439,11 +439,6 @@ int pacman_db_unregister(pmdb_t *_db)
RET_ERR(PM_ERR_DB_NOT_FOUND, -1);
}

-       _pacman_log(PM_LOG_FLOW1, _("unregistering database '%s'"), 
db->treename());
-
-       /* Cleanup */
-       _pacman_db_free_pkgcache(db);
-
_pacman_log(PM_LOG_DEBUG, _("closing database '%s'"), db->treename());
db->close();

diff --git a/lib/libpacman/trans.cpp b/lib/libpacman/trans.cpp
index 9067492..adb2dbc 100644
--- a/lib/libpacman/trans.cpp
+++ b/lib/libpacman/trans.cpp
@@ -69,7 +69,7 @@ int check_oldcache(Database *db)
}
if(timestamp - db->cache_timestamp != 0) {
_pacman_log(PM_LOG_DEBUG, _("cache for '%s' repo is too old"), db->treename());
-               _pacman_db_free_pkgcache(db);
+               db->free_pkgcache();
} else {
_pacman_log(PM_LOG_DEBUG, _("cache for '%s' repo is up to date"), 
db->treename());
}
_______________________________________________
Frugalware-git mailing list
[email protected]
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to