diff options
author | Julian Andres Klode <jak@debian.org> | 2015-08-12 23:44:33 +0200 |
---|---|---|
committer | Julian Andres Klode <jak@debian.org> | 2015-08-12 23:45:17 +0200 |
commit | a1dfe33790edda246a23a5c5d3c432cd8429e848 (patch) | |
tree | 2dcfd294b18bb828fbf085ec254179603e19dfb5 | |
parent | 85b9b32933eaeda6119d7a0224b5070ab8230c6b (diff) |
Drop the Section field from pkgCache::Package again
This somehow got back, we don't really know why. Emulate the
Section() method in the PkgIterator by looking at the section
of the head of the VersionList.
-rw-r--r-- | apt-pkg/cacheiterators.h | 8 | ||||
-rw-r--r-- | apt-pkg/pkgcache.h | 6 |
2 files changed, 3 insertions, 11 deletions
diff --git a/apt-pkg/cacheiterators.h b/apt-pkg/cacheiterators.h index f8321079a..48547e564 100644 --- a/apt-pkg/cacheiterators.h +++ b/apt-pkg/cacheiterators.h @@ -157,11 +157,7 @@ class pkgCache::PkgIterator: public Iterator<Package, PkgIterator> { inline const char *Name() const { return Group().Name(); } // Versions have sections - and packages can have different versions with different sections // so this interface is broken by design. Run as fast as you can to Version.Section(). - APT_DEPRECATED inline const char *Section() const { - APT_IGNORE_DEPRECATED_PUSH - return S->Section == 0?0:Owner->StrP + S->Section; - APT_IGNORE_DEPRECATED_POP - } + APT_DEPRECATED inline const char *Section() const; inline bool Purge() const {return S->CurrentState == pkgCache::State::Purge || (S->CurrentVer == 0 && S->CurrentState == pkgCache::State::NotInstalled);} inline const char *Arch() const {return S->Arch == 0?0:Owner->StrP + S->Arch;} @@ -518,5 +514,7 @@ inline pkgCache::VerFileIterator pkgCache::VerIterator::FileList() const {return VerFileIterator(*Owner,Owner->VerFileP + S->FileList);} inline pkgCache::DescFileIterator pkgCache::DescIterator::FileList() const {return DescFileIterator(*Owner,Owner->DescFileP + S->FileList);} +APT_DEPRECATED inline const char * pkgCache::PkgIterator::Section() const + {return S->VersionList == 0 ? 0 : VersionList().Section();} /*}}}*/ #endif diff --git a/apt-pkg/pkgcache.h b/apt-pkg/pkgcache.h index e59697c28..ff250b532 100644 --- a/apt-pkg/pkgcache.h +++ b/apt-pkg/pkgcache.h @@ -429,12 +429,6 @@ struct pkgCache::Package map_pointer_t VersionList; // Version /** \brief index to the installed version */ map_pointer_t CurrentVer; // Version - /** \brief indicates nothing (consistently) - This field used to contain ONE section the package belongs to, - if those differs between versions it is a RANDOM one. - The Section() method tries to reproduce it, but the only sane - thing to do is use the Section field from the version! */ - APT_DEPRECATED map_ptrloc Section; // StringItem /** \brief index of the group this package belongs to */ map_pointer_t Group; // Group the Package belongs to |