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
