summaryrefslogtreecommitdiff
path: root/apt-pkg/pkgcachegen.cc
diff options
context:
space:
mode:
Diffstat (limited to 'apt-pkg/pkgcachegen.cc')
-rw-r--r--apt-pkg/pkgcachegen.cc15
1 files changed, 7 insertions, 8 deletions
diff --git a/apt-pkg/pkgcachegen.cc b/apt-pkg/pkgcachegen.cc
index 030f4df0a..5a7272e84 100644
--- a/apt-pkg/pkgcachegen.cc
+++ b/apt-pkg/pkgcachegen.cc
@@ -17,7 +17,6 @@
#include <apt-pkg/hashsum_template.h>
#include <apt-pkg/indexfile.h>
#include <apt-pkg/macros.h>
-#include <apt-pkg/md5.h>
#include <apt-pkg/metaindex.h>
#include <apt-pkg/mmap.h>
#include <apt-pkg/pkgcache.h>
@@ -377,7 +376,7 @@ bool pkgCacheGenerator::MergeListVersion(ListParser &List, pkgCache::PkgIterator
map_pointer_t *LastVer = &Pkg->VersionList;
void const * oldMap = Map.Data();
- unsigned short const Hash = List.VersionHash();
+ auto Hash = List.VersionHash();
if (Ver.end() == false)
{
/* We know the list is sorted so we use that fact in the search.
@@ -558,10 +557,11 @@ bool pkgCacheGenerator::NewGroup(pkgCache::GrpIterator &Grp, StringView Name)
if (unlikely(Group == 0))
return false;
- Grp = pkgCache::GrpIterator(Cache, Cache.GrpP + Group);
- map_stringitem_t const idxName = StoreString(PKGNAME, Name);
+ map_stringitem_t const idxName = WriteStringInMap(Name);
if (unlikely(idxName == 0))
return false;
+
+ Grp = pkgCache::GrpIterator(Cache, Cache.GrpP + Group);
Grp->Name = idxName;
// Insert it into the hash table
@@ -849,7 +849,7 @@ bool pkgCacheGenerator::NewFileVer(pkgCache::VerIterator &Ver,
map_pointer_t pkgCacheGenerator::NewVersion(pkgCache::VerIterator &Ver,
APT::StringView const &VerStr,
map_pointer_t const ParentPkg,
- unsigned short const Hash,
+ uint32_t Hash,
map_pointer_t const Next)
{
// Get a structure
@@ -1204,7 +1204,7 @@ bool pkgCacheListParser::NewProvidesAllArch(pkgCache::VerIterator &Ver, StringVi
Dynamic<StringView> DynPackage(Package);
Dynamic<StringView> DynVersion(Version);
- if (Grp.end() == true)
+ if (Grp.end() == true || Grp->FirstPackage == 0)
return NewProvides(Ver, Package, Cache.NativeArch(), Version, Flags);
else
{
@@ -1234,7 +1234,7 @@ bool pkgCacheListParser::NewProvidesAllArch(pkgCache::VerIterator &Ver, StringVi
return true;
}
/*}}}*/
-bool pkgCacheListParser::SameVersion(unsigned short const Hash, /*{{{*/
+bool pkgCacheListParser::SameVersion(uint32_t Hash, /*{{{*/
pkgCache::VerIterator const &Ver)
{
return Hash == Ver->Hash;
@@ -1336,7 +1336,6 @@ map_stringitem_t pkgCacheGenerator::StoreString(enum StringType const type, cons
auto strings = &strMixed;
switch(type) {
case MIXED: strings = &strMixed; break;
- case PKGNAME: strings = &strPkgNames; break;
case VERSIONNUMBER: strings = &strVersions; break;
case SECTION: strings = &strSections; break;
default: _error->Fatal("Unknown enum type used for string storage of '%.*s'", Size, S); return 0;