From: David Kalnischkies Date: Fri, 22 Jan 2016 01:00:42 +0000 (+0100) Subject: use consistently the last : as name:arch separator X-Git-Tag: 1.2.2~32 X-Git-Url: https://git.saurik.com/apt.git/commitdiff_plain/074564d40c21cb063bf327e9151a4e24cd9534b5 use consistently the last : as name:arch separator Proper debian packages do not contain ':' in the package name, so for real packages this is a non-issue, but apt itself frequently makes use of packages with such an illegal name for internal proposes. Git-Dch: Ignore --- diff --git a/apt-pkg/pkgcache.cc b/apt-pkg/pkgcache.cc index d2ecb8b1f..d6dd169bb 100644 --- a/apt-pkg/pkgcache.cc +++ b/apt-pkg/pkgcache.cc @@ -263,7 +263,7 @@ pkgCache::PkgIterator pkgCache::FindPkg(const string &Name) { } pkgCache::PkgIterator pkgCache::FindPkg(StringView Name) { - auto const found = Name.find(':'); + auto const found = Name.rfind(':'); if (found == string::npos) return FindPkg(Name, "native"); auto const Arch = Name.substr(found+1); diff --git a/apt-pkg/pkgcachegen.cc b/apt-pkg/pkgcachegen.cc index 6e307fba9..0dbac3df8 100644 --- a/apt-pkg/pkgcachegen.cc +++ b/apt-pkg/pkgcachegen.cc @@ -659,7 +659,7 @@ bool pkgCacheGenerator::NewPackage(pkgCache::PkgIterator &Pkg, StringView Name, // lazy-create foo (of amd64) provides foo:amd64 at the time we first need it if (Arch == "any") { - size_t const found = Name.find(':'); + size_t const found = Name.rfind(':'); StringView ArchA = Name.substr(found + 1); if (ArchA != "any") {