* apt-pkg/contrib/mmap.cc:
[ntk/apt.git] / apt-pkg / cacheiterators.h
index e6a0fdd..dcd3531 100644 (file)
@@ -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;
        };
@@ -285,6 +285,7 @@ class pkgCache::DepIterator : public Iterator<Dependency, DepIterator> {
        bool IsNegative() const;
        bool IsIgnorable(PrvIterator const &Prv) const;
        bool IsIgnorable(PkgIterator const &Pkg) const;
+       bool IsMultiArchImplicit() const;
        void GlobOr(DepIterator &Start,DepIterator &End);
        Version **AllTargets() const;
        bool SmartTargetPkg(PkgIterator &Result) const;
@@ -329,8 +330,9 @@ class pkgCache::PrvIterator : public Iterator<Provides, PrvIterator> {
        inline VerIterator OwnerVer() const {return VerIterator(*Owner,Owner->VerP + S->Version);};
        inline PkgIterator OwnerPkg() const {return PkgIterator(*Owner,Owner->PkgP + Owner->VerP[S->Version].ParentPkg);};
 
-       inline PrvIterator() : Iterator<Provides, PrvIterator>(), Type(PrvVer) {};
+       bool IsMultiArchImplicit() const;
 
+       inline PrvIterator() : Iterator<Provides, PrvIterator>(), Type(PrvVer) {};
        inline PrvIterator(pkgCache &Owner, Provides *Trg, Version*) :
                Iterator<Provides, PrvIterator>(Owner, Trg), Type(PrvVer) {
                if (S == 0)