summaryrefslogtreecommitdiff
path: root/apt-pkg
diff options
context:
space:
mode:
authorDavid Kalnischkies <kalnischkies@gmail.com>2012-01-19 18:42:57 +0100
committerDavid Kalnischkies <kalnischkies@gmail.com>2012-01-19 18:42:57 +0100
commit2a2a7ef4dfa9d8fb8118c2e318555438098cdf34 (patch)
treeb593f0702659a3b3e0389f796beeb825e8da6b85 /apt-pkg
parent7720666fba9cd7024009bed964ccfa3f2be97c59 (diff)
* apt-pkg/cacheiterators.h:
- return the correct version arch for all+foreign, too The flag is interpreted at a few other places in different styles so this commit ensures that the flag check is consistent everywhere (checking for Same in flag style is a bit too much as it isn't used in combination with others anyway, but who knows and just for consistency)
Diffstat (limited to 'apt-pkg')
-rw-r--r--apt-pkg/cacheiterators.h2
-rw-r--r--apt-pkg/deb/dpkgpm.cc4
-rw-r--r--apt-pkg/packagemanager.cc2
3 files changed, 4 insertions, 4 deletions
diff --git a/apt-pkg/cacheiterators.h b/apt-pkg/cacheiterators.h
index e6a0fddb0..d5e018be9 100644
--- a/apt-pkg/cacheiterators.h
+++ b/apt-pkg/cacheiterators.h
@@ -207,7 +207,7 @@ class pkgCache::VerIterator : public Iterator<Version, VerIterator> {
inline const char *VerStr() const {return S->VerStr == 0?0:Owner->StrP + S->VerStr;};
inline const char *Section() const {return S->Section == 0?0:Owner->StrP + S->Section;};
inline const char *Arch() const {
- if (S->MultiArch == pkgCache::Version::All)
+ if ((S->MultiArch & pkgCache::Version::All) == pkgCache::Version::All)
return "all";
return S->ParentPkg == 0?0:Owner->StrP + ParentPkg()->Arch;
};
diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc
index 99c28d201..2b04f0e71 100644
--- a/apt-pkg/deb/dpkgpm.cc
+++ b/apt-pkg/deb/dpkgpm.cc
@@ -1093,9 +1093,9 @@ bool pkgDPkgPM::Go(int OutStatusFd)
pkgCache::VerIterator PkgVer;
std::string name = I->Pkg.Name();
if (Op == Item::Remove || Op == Item::Purge)
- PkgVer = I->Pkg.CurrentVer();
+ PkgVer = I->Pkg.CurrentVer();
else
- PkgVer = Cache[I->Pkg].InstVerIter(Cache);
+ PkgVer = Cache[I->Pkg].InstVerIter(Cache);
name.append(":").append(PkgVer.Arch());
char * const fullname = strdup(name.c_str());
Packages.push_back(fullname);
diff --git a/apt-pkg/packagemanager.cc b/apt-pkg/packagemanager.cc
index c9d7a3024..349adbe40 100644
--- a/apt-pkg/packagemanager.cc
+++ b/apt-pkg/packagemanager.cc
@@ -733,7 +733,7 @@ bool pkgPackageManager::SmartUnPack(PkgIterator Pkg, bool const Immediate, int c
List->Flag(Pkg,pkgOrderList::UnPacked,pkgOrderList::States);
- if (Immediate == true && instVer->MultiArch == pkgCache::Version::Same)
+ if (Immediate == true && (instVer->MultiArch & pkgCache::Version::Same) == pkgCache::Version::Same)
{
/* Do lockstep M-A:same unpacking in two phases:
First unpack all installed architectures, then the not installed.