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

commit 42085e4526abf3f481ea39a9306d85e13c123930
Author: Michel Hermier <[email protected]>
Date:   Fri Aug 15 13:20:03 2014 +0200

libpacman: s/_pacman_db_whatprovides/Database::whatPackagesProvide/

diff --git a/lib/libpacman/cache.cpp b/lib/libpacman/cache.cpp
index 85f8598..b4afab8 100644
--- a/lib/libpacman/cache.cpp
+++ b/lib/libpacman/cache.cpp
@@ -145,25 +145,6 @@ int _pacman_db_remove_pkgfromcache(Database *db, Package 
*pkg)
return(0);
}

-/* return a pmlist_t of packages in "db" that provide "package"
- */
-pmlist_t *_pacman_db_whatprovides(Database *db, char *package)
-{
-       FPtrList *pkgs = NULL;
-       FStrMatcher strmatcher = { NULL };
-       FMatcher packagestrmatcher;
-
-       ASSERT(db != NULL, RET_ERR(PM_ERR_DB_NULL, NULL));
-
-       if(f_strmatcher_init(&strmatcher, package, F_STRMATCHER_EQUAL) == 0 &&
-                       _pacman_packagestrmatcher_init(&packagestrmatcher, 
&strmatcher, PM_PACKAGE_FLAG_PROVIDES) == 0) {
-               pkgs = f_ptrlist_filter(_pacman_db_get_pkgcache(db), 
&packagestrmatcher);
-       }
-       _pacman_packagestrmatcher_fini(&packagestrmatcher);
-       f_strmatcher_fini(&strmatcher);
-       return(pkgs);
-}
-
static
Group *_pacman_db_get_grpfromlist(pmlist_t *list, const char *target)
{
diff --git a/lib/libpacman/cache.h b/lib/libpacman/cache.h
index 79f4fe0..4d37504 100644
--- a/lib/libpacman/cache.h
+++ b/lib/libpacman/cache.h
@@ -31,7 +31,6 @@ 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);
pmlist_t *_pacman_db_get_pkgcache(libpacman::Database *db);
-pmlist_t *_pacman_db_whatprovides(libpacman::Database *db, char *package);
/* groups */
pmlist_t *_pacman_db_get_grpcache(libpacman::Database *db);
libpacman::Group *_pacman_db_get_grpfromcache(libpacman::Database *db, const 
char *target);
diff --git a/lib/libpacman/deps.cpp b/lib/libpacman/deps.cpp
index 9e4b4a9..6f847b9 100644
--- a/lib/libpacman/deps.cpp
+++ b/lib/libpacman/deps.cpp
@@ -337,7 +337,7 @@ pmlist_t *_pacman_checkdeps(pmtrans_t *trans, unsigned char 
op, pmlist_t *packag
/* check database for provides matches */
if(!found) {
pmlist_t *m;
-                                       k = _pacman_db_whatprovides(db_local, 
depend.name);
+                                       k = 
db_local->whatPackagesProvide(depend.name);
for(m = k; m && !found; m = m->next) {
/* look for a match that isn't one of the packages we're trying
* to install.  this way, if we match against a to-be-installed
@@ -502,7 +502,7 @@ pmlist_t *_pacman_removedeps(Database *db, pmlist_t *targs)
dep = db->find(depend.name);
if(dep == NULL) {
/* package not found... look for a provisio instead */
-                               k = _pacman_db_whatprovides(db, depend.name);
+                               k = db->whatPackagesProvide(depend.name);
if(k == NULL) {
_pacman_log(PM_LOG_WARNING, _("cannot find package \"%s\" or anything that 
provides it!"), depend.name);
continue;
@@ -602,7 +602,7 @@ int _pacman_resolvedeps(pmtrans_t *trans, Package *syncpkg, 
pmlist_t *list,
/* check provides */
for(j = dbs_sync; !ps && j; j = j->next) {
pmlist_t *provides;
-                       provides = _pacman_db_whatprovides(j->data, 
miss->depend.name);
+                       provides = ((Database 
*)j->data)->whatPackagesProvide(miss->depend.name);
if(provides) {
ps = provides->data;
}
diff --git a/lib/libpacman/pacman.cpp b/lib/libpacman/pacman.cpp
index 15a5016..737a67e 100644
--- a/lib/libpacman/pacman.cpp
+++ b/lib/libpacman/pacman.cpp
@@ -618,7 +618,7 @@ pmlist_t *pacman_db_whatprovides(pmdb_t *_db, char *name)
ASSERT(db != NULL, return(NULL));
ASSERT(!_pacman_strempty(name), return(NULL));

-       return(_pacman_db_whatprovides(db, name));
+       return db->whatPackagesProvide(name);
}

/** Get a group entry from a package database
diff --git a/lib/libpacman/trans.cpp b/lib/libpacman/trans.cpp
index 0b968b3..05f175c 100644
--- a/lib/libpacman/trans.cpp
+++ b/lib/libpacman/trans.cpp
@@ -338,7 +338,7 @@ int __pmtrans_t::add(const char *target, pmtranstype_t 
type, int flags)
/* Search provides */
pmlist_t *p;
_pacman_log(PM_LOG_FLOW2, _("target '%s' not found -- looking for provisions"), 
targ);
-                                       p = _pacman_db_whatprovides(dbs, targ);
+                                       p = dbs->whatPackagesProvide(targ);
if(p == NULL) {
RET_ERR(PM_ERR_PKG_NOT_FOUND, -1);
}
@@ -359,7 +359,7 @@ int __pmtrans_t::add(const char *target, pmtranstype_t 
type, int flags)
_pacman_log(PM_LOG_FLOW2, _("target '%s' not found -- looking for provisions"), 
targ);
for(i = dbs_sync; i && !spkg; i = i->next) {
Database *dbs = i->data;
-                               pmlist_t *p = _pacman_db_whatprovides(dbs, 
targ);
+                               pmlist_t *p = dbs->whatPackagesProvide(targ);
if(p) {
_pacman_log(PM_LOG_DEBUG, _("found '%s' as a provision for '%s'"), 
f_stringlistitem_to_str(p), targ);
spkg = dbs->find(f_stringlistitem_to_str(p));
@@ -1805,7 +1805,7 @@ int __pmtrans_t::commit(pmlist_t **data)
depinfo = db_local->find(depend.name);
if(depinfo == NULL) {
/* look for a provides package */
-                               pmlist_t *provides = 
_pacman_db_whatprovides(db_local, depend.name);
+                               pmlist_t *provides = 
db_local->whatPackagesProvide(depend.name);
if(provides) {
/* TODO: should check _all_ packages listed in provides, not just
*                        the first one.
@@ -1898,7 +1898,7 @@ int __pmtrans_t::commit(pmlist_t **data)
depinfo = db_local->find(depend.name);
if(depinfo == NULL) {
/* look for a provides package */
-                               pmlist_t *provides = 
_pacman_db_whatprovides(db_local, depend.name);
+                               pmlist_t *provides = 
db_local->whatPackagesProvide(depend.name);
if(provides) {
/* TODO: should check _all_ packages listed in provides, not just
*       the first one.
_______________________________________________
Frugalware-git mailing list
[email protected]
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to