]> git.saurik.com Git - apt.git/commitdiff
use consistently the last : as name:arch separator
authorDavid Kalnischkies <david@kalnischkies.de>
Fri, 22 Jan 2016 01:00:42 +0000 (02:00 +0100)
committerDavid Kalnischkies <david@kalnischkies.de>
Mon, 25 Jan 2016 17:15:44 +0000 (18:15 +0100)
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

apt-pkg/pkgcache.cc
apt-pkg/pkgcachegen.cc

index d2ecb8b1f394d14f5a44ddd6569a536b95b7cfff..d6dd169bbb8dc6b05386e5157aa88ac8a3ea7d37 100644 (file)
@@ -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);
index 6e307fba9b32df572709ea1a324815bb7aeeb3d5..0dbac3df8d4319ff08f31f5e308b490a884a21e2 100644 (file)
@@ -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")
       {