]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/pkgcache.cc
My "tolerance" patch was a tad bit overzealous :(.
[apt.git] / apt-pkg / pkgcache.cc
index b4c232f8c15dc218120aed0aff44401bcf844156..1705f836b0635b33d49f8be73d62a094ce09e581 100644 (file)
@@ -58,8 +58,8 @@ pkgCache::Header::Header()
 
    /* Whenever the structures change the major version should be bumped,
       whenever the generator changes the minor version should be bumped. */
-   APT_HEADER_SET(MajorVersion, 10);
-   APT_HEADER_SET(MinorVersion, 7);
+   APT_HEADER_SET(MajorVersion, 11);
+   APT_HEADER_SET(MinorVersion, 0);
    APT_HEADER_SET(Dirty, false);
 
    APT_HEADER_SET(HeaderSz, sizeof(pkgCache::Header));
@@ -154,6 +154,7 @@ bool pkgCache::ReMap(bool const &Errorchecks)
    VerP = (Version *)Map.Data();
    DescP = (Description *)Map.Data();
    ProvideP = (Provides *)Map.Data();
+   TagP = (Tag *)Map.Data();
    DepP = (Dependency *)Map.Data();
    DepDataP = (DependencyData *)Map.Data();
    StrP = (char *)Map.Data();
@@ -213,14 +214,14 @@ map_id_t pkgCache::sHash(StringView Str) const
 {
    uint32_t Hash = 5381;
    for (auto I = Str.begin(); I != Str.end(); ++I)
-      Hash = 33 * Hash + tolower_ascii(*I);
+      Hash = 33 * Hash + tolower_ascii_unsafe(*I);
    return Hash % HeaderP->GetHashTableSize();
 }
 map_id_t pkgCache::sHash(const string &Str) const
 {
    uint32_t Hash = 5381;
    for (string::const_iterator I = Str.begin(); I != Str.end(); ++I)
-      Hash = 33 * Hash + tolower_ascii((signed char)*I);
+      Hash = 33 * Hash + tolower_ascii_unsafe((signed char)*I);
    return Hash % HeaderP->GetHashTableSize();
 }
 
@@ -228,7 +229,7 @@ map_id_t pkgCache::sHash(const char *Str) const
 {
    uint32_t Hash = 5381;
    for (const char *I = Str; *I != 0; ++I)
-      Hash = 33 * Hash + tolower_ascii((signed char)*I);
+      Hash = 33 * Hash + tolower_ascii_unsafe((signed char)*I);
    return Hash % HeaderP->GetHashTableSize();
 }
 
@@ -309,7 +310,7 @@ pkgCache::GrpIterator pkgCache::FindGrp(StringView Name) {
        // Look at the hash bucket for the group
        Group *Grp = GrpP + HeaderP->GrpHashTableP()[sHash(Name)];
        for (; Grp != GrpP; Grp = GrpP + Grp->Next) {
-               int const cmp = Name.compare(ViewString(Grp->Name));
+               int const cmp = StringViewCompareFast(Name, ViewString(Grp->Name));
                if (cmp == 0)
                        return GrpIterator(*this, Grp);
                else if (cmp < 0)