X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/8dd562a894c2472e3705fe13c212f665b55744a9..a2025a9a307bf4796e90623b002a7fa80ae814ef:/apt-pkg/cacheset.cc?ds=inline diff --git a/apt-pkg/cacheset.cc b/apt-pkg/cacheset.cc index 6b31a4fff..816925c4d 100644 --- a/apt-pkg/cacheset.cc +++ b/apt-pkg/cacheset.cc @@ -265,6 +265,7 @@ bool CacheSetHelper::PackageFromPackageName(PackageContainerInterface * const pc if (unlikely(Cache.GetPkgCache() == 0)) return false; + std::string const pkgstring = pkg; size_t const archfound = pkg.find_last_of(':'); std::string arch; if (archfound != std::string::npos) { @@ -301,7 +302,7 @@ bool CacheSetHelper::PackageFromPackageName(PackageContainerInterface * const pc } } - pkgCache::PkgIterator Pkg = canNotFindPkgName(Cache, pkg); + pkgCache::PkgIterator Pkg = canNotFindPkgName(Cache, pkgstring); if (Pkg.end() == true) return false; @@ -335,7 +336,7 @@ bool CacheSetHelper::PackageFromString(PackageContainerInterface * const pci, pk bool CacheSetHelper::PackageFromCommandLine(PackageContainerInterface * const pci, pkgCacheFile &Cache, const char **cmdline) { bool found = false; for (const char **I = cmdline; *I != 0; ++I) - found |= PackageFrom(CacheSetHelper::PACKAGENAME, pci, Cache, *I); + found |= PackageFrom(CacheSetHelper::STRING, pci, Cache, *I); return found; } /*}}}*/ @@ -440,14 +441,6 @@ bool VersionContainerInterface::FromString(VersionContainerInterface * const vci CacheSetHelper::VerSelector const fallback, CacheSetHelper &helper, bool const onlyFromName) { - PackageSet pkgset; - if(FileExists(pkg)) { - helper.PackageFrom(CacheSetHelper::STRING, &pkgset, Cache, pkg); - if(pkgset.empty() == true) - return false; - return VersionContainerInterface::FromPackage(vci, Cache, pkgset.begin(), fallback, helper); - } - std::string ver; bool verIsRel = false; size_t const vertag = pkg.find_last_of("/="); @@ -456,6 +449,8 @@ bool VersionContainerInterface::FromString(VersionContainerInterface * const vci verIsRel = (pkg[vertag] == '/'); pkg.erase(vertag); } + + PackageSet pkgset; if (onlyFromName == false) helper.PackageFrom(CacheSetHelper::STRING, &pkgset, Cache, pkg); else {