]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/pkgcachegen.cc
Fixed size mismatch
[apt.git] / apt-pkg / pkgcachegen.cc
index 80997c952cf31fda9f312eb34e0100a92ec501b3..9806e5b918a4060a149c010421bd1b41d66a5258 100644 (file)
@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
-// $Id: pkgcachegen.cc,v 1.29 1999/02/23 06:46:24 jgg Exp $
+// $Id: pkgcachegen.cc,v 1.33 1999/03/08 07:18:11 jgg Exp $
 /* ######################################################################
    
    Package Cache Generator - Generator for the cache structure.
@@ -76,7 +76,6 @@ bool pkgCacheGenerator::MergeList(ListParser &List)
    {
       // Get a pointer to the package structure
       string PackageName = List.Package();
-      Pkgs++;
       if (PackageName.empty() == true)
         return false;
       
@@ -103,7 +102,6 @@ bool pkgCacheGenerator::MergeList(ListParser &List)
       int Res = 1;
       for (; Ver.end() == false; Last = &Ver->NextVer, Ver++)
       {
-        Cmps++;
         Res = pkgVersionCompare(Version.begin(),Version.end(),Ver.VerStr(),
                                 Ver.VerStr() + strlen(Ver.VerStr()));
         if (Res >= 0)
@@ -124,7 +122,6 @@ bool pkgCacheGenerator::MergeList(ListParser &List)
       }      
 
       // Add a new version
-      Vers++;
       *Last = NewVersion(Ver,Version,*Last);
       Ver->ParentPkg = Pkg.Index();
       if (List.NewVersion(Ver) == false)
@@ -425,6 +422,13 @@ bool pkgSrcCacheCheck(pkgSourceList &List)
    int Missing = 0;
    for (pkgSourceList::const_iterator I = List.begin(); I != List.end(); I++)
    {
+      // Only cache deb source types.
+      if (I->Type != pkgSourceList::Item::Deb)
+      {
+        Missing++;
+        continue;
+      }
+      
       string File = ListDir + URItoFileName(I->PackagesURI());
       struct stat Buf;
       if (stat(File.c_str(),&Buf) != 0)
@@ -465,12 +469,16 @@ bool pkgSrcCacheCheck(pkgSourceList &List)
       return false;
    
    for (pkgCache::PkgFileIterator F(Cache); F.end() == false; F++)
-   {
+   {      
       // Search for a match in the source list
       bool Bad = true;
       for (pkgSourceList::const_iterator I = List.begin(); 
           I != List.end(); I++)
       {
+        // Only cache deb source types.
+        if (I->Type != pkgSourceList::Item::Deb)
+           continue;
+        
         string File = ListDir + URItoFileName(I->PackagesURI());
         if (F.FileName() == File)
         {